我对单选按钮有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选择单选按钮?
答案 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