$('input:radio').attr('disabled', true);
$('select[name=player1], input[name=p1name]').change(function(){
$('input:radio').attr('disabled', false);
});
Я бы предложил поставить кавычки вокруг атрибутов, например, name="p1name"
, а не name=p1name
. Безумные вещи могут случиться, когда вы этого не сделаете.
Кроме того, когда вы присваиваете идентификаторы или классы элементов, вы можете быть более точными, какие элементы выбраны, а какие нет. Скажем, например, что вы хотели отключить только одну из переключателей, вы могли бы сделать это легко, тогда как без идентификатора это намного сложнее.
По запросу:
присваивает классам select и input, например,
<select class="affector"></select>
<input type="text" class="affector" />
и вы можете пройти следующим образом:
$('.affector').change(function(){
$(this).parents('tr').find('input:radio').attr('disabled', false);
});
Если бы у вас было больше переключателей где-нибудь в <tr>
, и вы хотели только включить выбранную группу, опять же, наличие классов было бы полезно. Вы можете заменить селектор класса на «input: radio» в .find()
, и будут затронуты только те.
Дополнительно:
Если они являются единственными элементами выбора и ввода текста на странице, вы также можете отказаться от добавления классов и использовать вместо них селекторы типа:
$('select, input:text').change(function(){
$(this).parents('tr').find('input:radio').attr('disabled', false);
});