Вот мой код:
$("#product1 :checkbox").click(function(){
$(this)
.closest('tr') // Find the parent row.
.find(":input[type='text']") // Find text elements in that row.
.attr('disabled',false).toggleClass('disabled') // Enable them.
.end() // Go back to the row.
.siblings() // Get its siblings
.find(":input[type='text']") // Find text elements in those rows.
.attr('disabled',true).removeClass('disabled'); // Disable them.
});
Как мне переключиться .attr('disabled',false);
?
Я не могу найти его в Google.
$("input").get(0).disabled = isFalse;
// jsfiddle.net/uAfhjОтветы:
.prop()
Метод принимает два аргумента:Так что в этом случае я использовал функцию, которая предоставила мне индекс (i) и текущее значение (v), затем я возвратил противоположное текущее значение, поэтому состояние свойства меняется на противоположное.
источник
i
иv
?$('#el').prop('disabled', (i, v) => !v);
Я думаю, чтобы получить полную сопоставимость браузера,
disabled
следует установить значениеdisabled
или удалить!Вот небольшой плагин, который я только что сделал:
Пример ссылки .
РЕДАКТИРОВАТЬ: обновил пример ссылку / код для поддержания цепочки!
РЕДАКТИРОВАТЬ 2:
На основе комментария @lonesomeday, вот расширенная версия:
источник
$.fn.toggleDisabled = function(){ return this.each(function(){ this.disabled = !this.disabled; });}
это все, что тебе нужно.disabled
атрибута. Во всяком случае, если вы можете подтвердить, что это кросс-браузерное решение .. Я обновлю свой ответ.prop
лучший метод с 1.6, как сказал Арне.источник
Еще один простой вариант, который обновляется по щелчку флажка.
HTML:
JQuery:
В действии: ссылка
источник
if
блока с$('#item').prop('disabled', this.checked);
Некоторое время спустя, благодаря @arne, я создал похожую маленькую функцию для обработки, где ввод должен быть отключен, И скрыт, или включен, и показано:
Затем объект jQuery (такой как $ ('input [name = "нечто"]')) просто переключается с помощью:
источник
Это довольно просто с синтаксисом обратного вызова
attr
:источник