使用jQuery更改组中单选按钮的value属性

时间:2013-12-25 12:32:07

标签: javascript jquery html radio-button

我有多个动态添加的单选按钮。我想将所选单选按钮的值属性更改为"yes",并在选择其他单选按钮后将单选按钮值更改为"no"

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

我可以使用以下jQuery将值更改为"yes"

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

如果选择了其他单选按钮,如何将所选单选按钮的值属性更改为"no"

4 个答案:

答案 0 :(得分:10)

使用:not()选择器。并且,如您所见,您还可以使用:选中以将值设置为是。

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

JSFiddle

答案 1 :(得分: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

答案 2 :(得分: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/

中查看

希望它能帮到你

答案 3 :(得分:0)

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

<强> Fiddle demo