2014-08-27 4 views
0

Я работаю с вызовом динамической строки строки, и я хочу клонировать строку, вставлять ее перед строкой, указанной моей кнопкой вставки, и обновлять идентификатор каждого элемента, чтобы позже включить некоторые из изменений поведения. Я предоставил здесь скрипку: http://jsfiddle.net/6y18mho8/6/jQuery update select ID со строковой вставкой

Соответствующий код jquery приведен ниже, и пока он проходит и обновляет идентификатор для поля ввода, он, похоже, игнорирует мои «выпадающие» выпадающие окна. Что вызывает такое поведение?

$(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; 

});

Как вы можете видеть в скрипте, кнопки добавления и вставки работают, строки правильно клонированы, а идентификатор для полей ввода текста правильно обновляется. Однако идентификаторы для выбранных элементов не обновляются. Любая помощь приветствуется.

Fiddle: http://jsfiddle.net/6y18mho8/6/

ответ

0

Вы используете неправильно в Jquery находку (для того, чтобы выбрать все входы и все выбирать элементы):

Вы должны сделать:

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

Fiddle работы : http://jsfiddle.net/6y18mho8/8/

+0

Awesome. Клянусь, я пробовал это, но, должно быть, это было что-то еще неправильное. Спасибо. Ответ принят – user1459766

Смежные вопросы