Выберите и отключите каждое поле ввода в форме, заключенное в таблицу в jquery

StackOverflow https://stackoverflow.com/questions/2348520

Вопрос

Я отключаю форму, основанную на флажке...

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

вот что у меня получилось на данный момент: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);
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top