如何使用JQuery选择单选按钮?

时间:2009-09-04 18:13:20

标签: jquery asp.net-mvc

我对单选按钮有MVC html控件,如:

 <%= Html.RadioButton("Choice", false, new { onclick = "Accept()" })%><label for="Choice">Yes</label>
 <%= Html.RadioButton("Choice", false, new { onclick = "Deny()" })%><label for="Choice">No</label>

如何使用JQuery选择单选按钮?

3 个答案:

答案 0 :(得分:4)

我不知道你的代码会是什么样的html。但是,您可以使用此代码获取每个单选按钮的值。你可以自己编写一个更具体的选择器。

$("input:radio").each(function(){
 if($(this).is(":checked")){
   var val = this.value;
 } else {
   //not checked. do something else.
 }
});

或获取所有已检查的无线电

$("input:radio:checked").each(function() {
   var value = this.value;
   //do something with value of checked radiobox
});

答案 1 :(得分:0)

如果我的理解是正确的,第二个参数必须是对象的值,第三个参数是检查状态。

所以,一定是。

 <%= Html.RadioButton("Choice", "Yes", false, new { onclick = "Accept()" })%><label for="Choice">Yes</label>
 <%= Html.RadioButton("Choice", "No", false, new { onclick = "Deny()" })%><label for="Choice">No</label>

然后你可以通过jquery选择。

$("Choice[value='Yes']").attr("checked", true); 

更新:或者您想获得一个值。

var yes = $("Choice[value='Yes']).val();

答案 2 :(得分:0)

我相信在服务器上回发之前,所选的值才可用。这就是为什么不管你从组中选择什么样的单选按钮,jquery中的值总是作为默认选择。解决这个问题的最简单方法是将单选按钮括在'div'中,然后查看是否检查了'div'中的单选按钮。像这样:

    <div id="div1">
     <%= Html.RadioButton("Choice", false, new { onclick = "Accept()" })%><label for="Choice">Yes</label></div>
     <div id="div2">
 <%= Html.RadioButton("Choice", false, new { onclick = "Deny()" })%><label for="Choice">No</label></div>

然后

if($("#div1").find("input[type="radio"]").is(":checked"))
   // 1st radio button is checked
else if($("#div2").find("input[type="radio"]").is(":checked"))
   // 2nd radio button is checked