2009-08-12 58 views
1

2つのラジオボタンから簡単なものがあり、チェックされていればその値を取得する必要があります。選択したラジオボタンの値を取得する方法

 <form class="descriptions" id="collection" method="post" action=""> 
          <table width="200"> 
           <tr> 
           <td> 
            <label>Collection</label> 
            <input type="radio" value="collection" name="collection" /> 
           </td> 
           <td> 
            <label>Delivery</label> 
            <input type="radio" value="delivery" name="collection" /> 
           </td> 
          </tr> 
         </table> 

       </form> 

    var delivery = ""; 
    delivery = $('input:radio:checked').val(); 
if(delivery == 'delivery') { 
    meal_deal7 = 11.49; 
}else { 
    meal_deal7 = 9.99 
} 

meal_deal7の値は常に9.99、 は私がやっているs番目の間違っています。このlink
次の例の礼儀で

おかげ

+1

あまりにもラジオボタンを識別するためのCSSクラスを使用するように誘惑されると思います。 'console.log(delivery)'または 'alert(delivery)'です。そうすれば、どのような配信が成立するかがわかります。それはすべての時間が空の場合は、あなたのセレクター(しかし、うまくいくはず)に間違って何かをしている... – peirix

+0

あなたのコードは私のためにうまく動作します。コードをデバッグしてみてください。 – rahul

+0

それは私のために働く。問題は他のどこかにあるはずです。 –

答えて

6

を取得するにはjavascriptをボタンがクリックされた/

Working Demoをチェックする - コードを参照し、例を用いてプレイする/編集を追加します。

コード

$("input:radio[name='collection']").click(function() { 
    var delivery = $("input:radio[name='collection']:checked").val(); 

    if(delivery == 'delivery') { 
     meal_deal7 = 11.49; 
    } 
    else { 
     meal_deal7 = 9.99 
    } 
}); 

私は配達変数をデバッグしてみてください

+0

ありがとうございます、うまく動作します。 – amir

1

ルックとあなたのフォームに必要な変更を行います。

<form name="orderform"> 
Which one is your favorite?<br> 
<input type="radio" name="music" value="Rock" 
checked="checked"> Rock<br> 
<input type="radio" name="music" value="Reggae"> Reggae<br> 
<input type="radio" name="music" value="Pop"> Pop<br> 
<input type="radio" name="music" value="Rap"> Rap<br> 
<input type="radio" name="music" value="Metal"> Metal<br> 
<input type="submit" onclick="get_radio_value()"> 
</form> 
+0

ありがとう、それはjavascriptだ、私はjqueryでそれをやりたかった。 – amir

0

使用あなたがdelivery変数の値が毎回ラジオ更新されるようにラジオボタンのそれぞれに取り付けたイベントハンドラにコードを持っている必要があります値

var elemArray=document.getElementsByName('collection'); 
var value=""; 
if(elemArray.length>0){ 
for(var i=0;i<elemArray.length;i++){ 
if(elemArray.checked==true){ 
value=elemArray.value; 
} 
} 
}else{ 
if(elemArray.checked==true){ 
value=elemArray.value; 
} 
} 
関連する問題