Выберите и отключите каждое поле ввода в форме, завернутые в таблицу в 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]
Не совсем уверен, как правильно выбрать элемент ввода. Что я делаю неправильно?
3 ответа
Решение
Функция не даст вам объект jQuery. Так должно быть:
$("#shipInfoTable input").each(function(index, item){
$(item).attr("disabled", true);
});
(обратите внимание, что я также упростил ваш селектор, он все еще работает)
Если вы ничего не делаете с каждым элементом, это также будет работать:
$("#shipInfoTable input").attr("disabled", true);
....
$("#shipInfoTable tbody tr td input").each(function(){
$(this).attr("disabled", true);
});
Проблема заключается в отсутствии $() в функции.each()...
$("#shipInfoTable tbody tr td input").each(function(index, item){
$(item).attr("disabled", true);
});