开发者

Cannot select cloned elements in jquery

After cloning a select element and incrementing the "name" attribute, I am unable to select the cloned elements.

For example:

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);
});

When I change the original element, it works fine I get the alert, but when I change one of the cloned elements, nothing happens. There are no errors.

Note: I am using "name" attribute instead of ID because I need to retrieve these cloned element values once the form is submitted

Should this work?? 开发者_StackOverflow中文版or is it that the cloned elements cant be selected?


Here's the doc link for live()DOC and here's the one for delegate()DOC

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

Although it functions differently than a regular event handler (it's actually listening for events on the document, so it "handles" the event on propagation. Delegate is a little more efficient because you give it a context to listen on:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜