1

我无法弄清楚我做错了什么。我已经动态生成了带有 class='freeze-date' 的输入字段,该字段仅适用于生成的第一个 datepicker 输入字段。我有代码@ http://jsfiddle.net/Someguy2k/L9nvs/3/

谢谢

4

1 回答 1

2

您的注入标记存在几个问题。id每行元素中的所有属性都具有相同的值。
不仅是无效的 HTML,还会导致诸如此类的副作用。

jQuery 将寻找一个 id 并在找到第一个匹配项时停止。我通过将该值作为附加值添加到属性来
解决您的日历的特定问题。iid

...  id='freezeby" + i + "'  ...

演示

如果您发现其他元素在与之交互时表现相同,很可能是由于与我看到其他id属性也有相同问题的相同原因。

使用 Live()

此外,您正在使用live(). Live 有几个问题,所有缺点都列​​在文档中。live()内存泄漏、事件绑定的意外丢失、stopPropagation() 由于冒泡事件的方式等原因无法正常工作。

由于 jQuery 1.7live()已被弃用并且on()是首选。对于您的版本,最好使用bind()将事件绑定到静态元素,使用delegate()将事件绑定到动态元素。

于 2012-08-15T23:59:24.527 回答