2009-09-04 5 views
4

私のようなラジオボタンのためのMVCのHTMLコントロールを持っている:JQueryでラジオボタンを選択する方法は?

<%= 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を使ってラジオボタンの選択を取得するには?

答えて

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 
}); 
0

私が正しいと理解していれば、2番目のパラメータは、オブジェクトの値でなければならない、と3番目のパラメータは状態をチェックされます。

だから、そうでなければなりません。

<%= 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(); 
+0

これをチェックするラジオボタンを設定します。このような何か。私はそれが彼が望んだとは思わない – mkoryak

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 
関連する問題