2013-12-25 3 views
2

У меня есть несколько динамически добавленных переключателей. Я хочу изменить атрибут value выбранного переключателя на "yes" и изменить значение переключателя на "no", как только будет выбран какой-либо другой переключатель.Изменение атрибута значения переключателей в группе с помощью jQuery

<input type="radio" name="tab-active" value="no" /> 

Я могу получить значение, чтобы изменить "yes" с помощью следующей JQuery:

$(document).on("click","input[name=tab-active]:radio",function(){ 
    if($("input:radio[name=tab-active]").is(":checked")) { 
     $(this).val('yes'); 
    } 
}); 

Как я могу изменить значение атрибута выбранной кнопки радио, чтобы "no" раз какой-либо другой кнопки радио выбрано?

ответ

9

Используйте переключатель :not(). И, как вы видите, вы также можете использовать: checked, чтобы установить значение yes.

$(document).on("click","input[name=active]:radio",function(){ 
    $("input:radio[name=active]:checked").val('yes'); 
    $("input:radio[name=active]:not(:checked)").val('no'); 
}); 

JSFiddle

+0

+1 к эффективности и ввел меня в ': нет() 'селектор. –

+0

удивительный! Большое спасибо и Рождеству. – Addicted

+0

Ничего страшного и спасибо, ты тоже! –

0

вы можете сделать HTML-теги, как

<input type="radio" id="1" name="tab-active" /><span id="lbl1">no</span> 
<input type="radio" id="2" name="tab-active" /><span id="lbl2">no</span> 
<input type="radio" id="3" name="tab-active" /><span id="lbl3">no</span> 

И код JS, как

$(document).on("click","input[type:radio]",function(){  
    if($("input:radio[name=tab-active]").is(":checked")) { 
     $("#lbl" + $(this).attr('id')).html("yes"); 
    } 
}); 

Вы можете проверить его в этой ссылке http://jsfiddle.net/nkvak/

Надеется, что это поможет вам

+0

Спасибо, но это не то, что я искал. Веселого Рождества .. – Addicted

+0

Спасибо, приятель. и да извините слишком .. –

1

Другим способа,

$(document).on("click","input[name=tab-active]:radio",function(){ 
    $("input:radio[name=tab-active]:not(:checked)").val('no'); 
    if($(this).is(':checked')) { 
     $(this).val('yes'); 
    } 
}); 

DEMO

0
$("input[name='tab-active']").change(function() 
    { 
     $("input[name='tab-active']").val('no'); 
     $(this).val('yes'); 
    } 
) 

Fiddle demo

Смежные вопросы