2014-08-27 52 views
0

我通过一个动态表行插入挑战的工作,我期待克隆一排,由我插入按钮指定的行之前插入,并更新每个元素的ID,以便以后我可以纳入一些改变行为。我在这里提供了一个小提琴:http://jsfiddle.net/6y18mho8/6/jQuery的更新与行选择ID插入

相关的jQuery代码如下,虽然它经过和它似乎忽略了我的“选择”下拉框“输入”字段更新ID。什么导致了这种行为?

$(document).on('click', 'button.insertbutton', function() { 
var rowCount = $('#orderDetail tr').length; 
$(this).closest('tr').before($(this).closest('tr').clone()); 
$(this).closest('tr').find('input','select').each(function() { 
    $(this).attr({ 
     'id': function(_,id) { 
      var regex = /[a-zA-Z]+/ 
      return id.match(regex) + rowCount }, 
     'value': '', 
    }) 
}) 

return true; 

});

正如你可以在小提琴的新增和插入按钮的工作看,行克隆正确,并为文本输入字段的ID正确更新。但是,选择项目的ID不会更新。任何帮助将非常感激。

小提琴:http://jsfiddle.net/6y18mho8/6/

回答

0

你正在使用错误的jQuery的发现(以选择所有输入和所有选择项):

你应该这样做:

$("tr:last").clone().find('input, select').each(function() { 

小提琴工作:http://jsfiddle.net/6y18mho8/8/

+0

真棒。我发誓我已经尝试过,但一定是其他的错误。谢谢。接受答案 – user1459766 2014-08-27 18:30:08