动态添加的元素的jQuery选择器似乎不起作用。简而言之,我有一组添加了函数的复选框。 PHP为要添加的每一行数据创建一个添加(..)条目(在这种情况下,文件名,注释和复选框将其删除)。这些都是使用硬编码模板添加的,并且工作正常。我不会发布添加脚本,但它会产生类似的条目(修订为简洁起见)...在文档加载后通过jQuery添加的元素上的jQuery选择器
<tr>
<td class="cell-file"><a href="...">afile.jpg</a></td>
<td class="cell-comment">A comment</td>
<td class="cell-remove a-center last"><input type="checkbox" id="...is_delete" name="...is_delete" value="1" class="removable"></td>
</tr>
在另外一个复选框的状态变化,我需要设置所有动态添加的复选框选中(和禁用一个按钮),以下...
function setAddButton(arg){
if(arg){
$('add-attachment').addClassName('disabled');
Event.stopObserving('add-attachment', 'click');
// Check all removable checkboxes
$('input.removable:checkbox').attr('checked', true);
}else{
$('add-attachment').removeClassName('disabled');
Event.observe('add-attachment', 'click', orderAttachment.add.bind(orderAttachment));
}
}
问题是,选择器回来为空。我已经尝试过这种选择器的各种形式,包括$('.removable:checkbox')
& $('input:checkbox.removable')
但是没有选择。
各种职位说这个选择器应该工作,但它不。所以我假设这是因为jQuery不能'看到'动态添加的元素。我已阅读使用.live()或.on()的各种帖子,但这是关于添加事件处理程序以动态添加元素。我不想要一个事件处理程序,我只希望能够选择并设置动态添加的复选框的checked属性。
任何想法?
尝试'$( 'input.removable:复选框')丙( '检查',真);' –
另外,还要确保你添加独特的ID为复选框。 –
谢谢,但问题是没有检查框,它选择它!正如我所说,选择器返回null。一旦我可以选择它,我可以检查它。是的,每个复选框都有一个唯一的ID和名称。为了简洁起见,我刚刚缩短了HTML。 –