2013-08-15 3 views

ответ

1

Элемент ввода, который вы пытаетесь выбрать, НЕ является прямым потомком тега строки. Функция children() выбирает только прямых детей. Вы можете использовать функцию find(), чтобы получить непрямого потомка.

Вы можете посмотреть на этой обновленной скрипку, которая покажет вам идентификатор при нажатии на кнопку ввода текстового поля:

http://jsfiddle.net/9UZcV/3/

Кстати, у вас есть другая ошибка в коде. Если вы добавите 3 строки (или больше), а затем удалите строку, которая не является последней строкой, а затем добавьте еще одну строку, вы получите дубликаты идентификаторов. Причина в том, что вы уменьшаете счетчик inputs при удалении строки, даже если она не является последней строкой. Например:

Добавить две строки.

response1 
response2 
response3 

Теперь удалите второй ряд.

response1 
response3 

Добавить еще один ряд

response1 
response3 
response3 (this is the new one. duplicate id) 

Решение состоит в том, чтобы либо не уменьшаем inputs (если это не последняя строка, но это необязательно). Если вам определенно нужно иметь последовательно пронумерованные элементы, вам придется просто пересчитывать их каждый раз, когда ввод удаляется из любой позиции, кроме конца.

6

Вместо детей(), вам нужно использовать находку(). Дети работают только для прямых детей, а не для детей.

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