无法在jquery中选择克隆元素

时间:2011-07-09 04:47:38

标签: jquery select clone

克隆select元素并递增“name”属性后,我无法选择克隆的元素。

例如:

HTML

<select name="1"></select>

<select name="1-1"></select> <!-- cloned element -->
<select name="1-2"></select> <!-- cloned element -->

JS

$('[name^="1"]').change(function() {
    alert(1);
});

当我更改原始元素时,它可以正常工作我得到警报,但是当我更改其中一个克隆元素时,没有任何反应。没有错误。

注意:我使用“name”属性而不是ID,因为我需要在提交表单后检索这些克隆的元素值

这应该有用吗?还是克隆元素不能被选中?

1 个答案:

答案 0 :(得分:3)

以下是live() DOC 的文档链接,这里是delegate() DOC

的文档链接
$('[name^=1]').live('change', function(){
  console.log('hi!');
});

虽然它的功能与常规事件处理程序不同(它实际上是在监听文档上的事件,所以它在传播时“处理”事件。委托更高效,因为你给它一个上下文来监听:

$('form').delegate('select[name^=1]', 'change', function(){
  console.log('hi there!');
});