如何使用事件侦听器为表单字段动态分配ID?

时间:2012-06-19 10:56:28

标签: javascript jquery html function anytime

我允许用户点击链接,这会在页面中添加一个字段。用户可以单击该链接以根据需要向页面添加任意数量的字段。单击该字段时,将显示日历,因为它是日期字段。我正在使用Any + Time日历。 jQuery等待来自具有特定id的字段的click事件。这是代码:

$('#start_date').click(
        function(e) {
            $('#start_date').AnyTime_noPicker().AnyTime_picker().focus();
        } );

ID为 start_date 。问题是用户可以单击链接以添加名为 start_date 的新字段,并且由于id相同,因此jQuery事件侦听器无法唯一标识每个字段。是否有针对这种情况的已知解决方案?

1 个答案:

答案 0 :(得分:2)

我不清楚:附加唯一编号对您不起作用吗?如果您可以创建字段但是没有附加点击处理程序,那么在创建元素时尝试向元素添加class="pickerField",并将处理程序更改为:

$('.pickerField').click(
        function(e) {
            $(this).AnyTime_noPicker().AnyTime_picker().focus();
        } );

我认为应该使用jQuery 1.7.2。如果由于某种原因没有,请尝试以下方法:

$('.pickerField').on('click',
        function(e) {
            $(this).AnyTime_noPicker().AnyTime_picker().focus();
        } );

如果您使用的是旧版jQuery,请尝试使用live代替on