Выберите и отключите каждое поле ввода в форме, заключенное в таблицу в jquery
-
23-09-2019 - |
Вопрос
Я отключаю форму, основанную на флажке...
У меня возникли проблемы с добавлением отключенного атрибута.
вот что у меня получилось на данный момент: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:Uncaught TypeError: Object #<an HTMLInputElement> has no method 'attr'
Когда я оповещаю о item
в пределах .each()
это предупреждает [object HTMLInputElement]
Не совсем уверен, как правильно выбрать элемент ввода.Что я делаю не так?
Решение
Функция не выдаст вам объект 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);
});