Выберите и отключите каждое поле ввода в форме, завернутые в таблицу в jquery - PullRequest
8 голосов
/ 27 февраля 2010

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

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

вот что я получил до сих пор: 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 ]

12 голосов
/ 27 февраля 2010

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

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

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

$("#shipInfoTable input").attr("disabled", true);
4 голосов
/ 27 февраля 2010

....

$("#shipInfoTable tbody tr td input").each(function(){
    $(this).attr("disabled", true);
});
0 голосов
/ 27 февраля 2010

проблема заключается в отсутствии $ () в функции .each () ...

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