2010-02-27 1 views
8

Я отключив форму на основе флажка ...Выбор и отключение каждого поля ввода внутри формы, завернуть в виде таблицы в JQuery

У меня возникли проблемы при добавлении отключенного атрибута.

вот что я получил до сих пор: HTML:

<table id="shipInfoTable"> 
    <tr> 
    <td>Name:</td> 
    <td><input type="text" name="name" /></td> 
    </tr> 
    ... 
</table> 

селектор Javascript/атрибут манипуляцию (Jquery):

$("#shipInfoTable tbody tr td input").each(function(index, item){ 
    item.attr("disabled", true); 
}); 

Chrome Dev консоли ошибка: Uncaught TypeError: Object #<an HTMLInputElement> has no method 'attr'

Когда Я предупреждаю item в пределах .each(), он оповещает [object HTMLInputElement]

Не совсем уверен, как правильно выбрать элемент ввода. Что я делаю не так?

ответ

12

Функция не даст вам объект jQuery. Оно должно быть:

$("#shipInfoTable input").each(function(index, item){ 
    $(item).attr("disabled", true); 
}); 

(обратите внимание, что я также упростил свой селектор, он все еще работает)
Если вы ничего не делаете Eles с каждым элементом, это будет работать, а также:

$("#shipInfoTable input").attr("disabled", true); 
+1

Обратите внимание: в текущих версиях jQuery это было изменено на '.prop (" disabled ", true)'. Я почти уверен, что 'attr' не делал, это было все равно. – Kobi

4

....

$("#shipInfoTable tbody tr td input").each(function(){ 
    $(this).attr("disabled", true); 
}); 
0

вопрос является отсутствие $() в функции .each() ...

$("#shipInfoTable tbody tr td input").each(function(index, item){ 
    $(item).attr("disabled", true); 
}); 

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

  • Нет связанных вопросов^_^