【问题标题】:jquery datepicker not working in IE7 and IE8jquery datepicker 在 IE7 和 IE8 中不起作用
【发布时间】:2011-01-20 17:11:45
【问题描述】:

这是我的 js:

$(document).ready(function() {
 $("input#dateTill").datepicker();
});

我的 HTML:

<input type="text" name="dateTill" id="dateTill" class="input" value="20.1.2011" maxlength="10" size="10" style="margin-left: 0; background: url(images/icons/16_calendar.png) 75px center no-repeat;" />

日期选择器在所有普通浏览器(如 Firefox、Chrome、Opera)中都可以使用。它在IE7和IE8中不起作用。

当我在输入字段内单击时,不会出现日期选择器窗口。

有什么想法吗?我正在使用 jquery 1.4.4。

【问题讨论】:

  • 在 IE8 中检查了您的代码并且工作正常......

标签: javascript jquery jquery-ui jquery-ui-datepicker


【解决方案1】:

首先,要确定的是,不要对 id 和 name 属性使用相同的字符串。 看在上帝的份上,不要用像 input 这样的保留字来定义你的类,它已经是内部类/元素了。选择 pickerClass 之类的东西。 另外,我认为您的 jQuery 选择器语法是错误的,不需要 input 部分,您已经有了该元素的 id。这个:

$("#dateTill").datepicker();

$("input.pickerClass").datepicker();

如果出于某种奇怪的原因您想一次选择多个输入。 此外,如果您已经有一个 CSS 定义的类,那么将内联样式移动到 CSS 中,如果它将用于更多输入字段。

【讨论】:

  • @Dunhamzzz 当然,这与我的问题无关。 crowicked 列出的所有问题都应该对日期选择器功能没有影响。它们可能是语义或表达错误/问题,但它们不应该对我的问题产生任何影响。
  • 您是否尝试过我的建议或只是说不应该提前?是的,他们可能不应该有,但我们在这里谈论的是 IE(是的,再次严厉)。坚持良好的编码实践,您将避免很多头痛。我通过将您的代码与 jQuery UI 对话框页面上的示例代码(在 IE8 中工作,已检查)上的示例代码进行比较得出了我的结论,我建议您也这样做。调试建议:删除您对对话框的所有自定义并一次添加一个以查看它在哪里中断。对不起,如果我听起来很自大。
  • 是的,你必须记住,IE 可以在最琐碎的事情上破坏一切,在对象属性列表的末尾多加一个逗号是最糟糕的。清理/优化您的代码可以很好地解决任何 IE 问题。确保 HTML 尽可能有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多