我无法弄清楚我做错了什么。我有动态生成的输入字段,其中class ='freeze-date'仅适用于生成的第一个datepicker输入字段。我有代码@ http://jsfiddle.net/Someguy2k/L9nvs/3/
由于
答案 0 :(得分:2)
注入标记有几个问题。每行元素中的所有id
属性都具有相同的值
这不仅是无效的HTML,而且还会产生副作用,例如这个副作用。
jQuery将查找id并在找到第一个匹配时停止
我通过将i
值添加为id
属性的附加值,修复了您日历的特定问题。
... id='freezeby" + i + "' ...
请参阅DEMO
如果您发现其他元素在与其进行交互时表现相同,则很可能是由于我看到其他id
属性也存在相同问题的相同原因。
使用Live()
此外,您正在使用live()
。 Live有几个问题,documentation中列出了所有缺点。 Memeory泄漏,意外丢失事件绑定,stopPropagation()因live()
气泡事件等方式不起作用。
由于jQuery 1.7 live()
已被弃用,因此首选on()
。对于您的版本,最好使用bind()将事件绑定到静态元素,使用delegate()将事件绑定到动态元素。