2011-12-29 17 views
0
<input type="radio" value="0" name="type" checked="yes" /> 
<label>Type 0</label> 
<input type="radio" value="1" name="type" /> 
<label>Type 1</label> 

とJS:フォーム入力タイプ=ラジオから値を取得するには?

var type = this.type.value; 
alert(type); 

どのようにそれを修正するには?

+3

'yes'は' checked'属性の有効な値ではありません、私はあなたが 'checked'を意味すると思います。 – Quentin

答えて

5

を参照してくださいようにあなたが行うことができますjQueryのを使用していますか? thisが問題のラジオボタンの場合は、this.valueが値を返します。

「タイプ 'グループで現在選択されているラジオボタンの値を取得するにはどうすればよいですか」 (それは.querySelector()または.querySelectorAll()と容易になるだろう、すべてではなく、ブラウザがそれらをサポートしています。)

function getCheckedRadioValue(radioGroupName) { 
    var rads = document.getElementsByName(radioGroupName), 
     i; 
    for (i=0; i < rads.length; i++) 
     if (rads[i].checked) 
      return rads[i].value; 
    return null; // or undefined, or your preferred default for none checked 
} 

var checkedValue = getCheckedRadioValue("type"); 

1

this.type.valueの代わりにthis.valueを使用してください。

this.valueは、入力のvalue属性に関連付けられた値を選択します。 (それは一口です)。

-1

この

$(function() { 
     $(".rad").click(
     function() { 
      alert(this.value); 
     }); 
    }); 

は、JSのコードが実行することを何文脈では、このJSFiddle

+1

私はダウン投票しませんでしたが、そのフィドルは機能しません。あなたは '$(this).val()'またはより良い 'this.value'を必要としますが、あなたのコードにはjQueryが必要です。 – nnnnnn

0

ちょうどセレクタを使用します。そして、あなたはこのような何かをする必要があるかもしれません。 jqueryの

$("input[name=type]:checked").val(); 

またはjqueryのなしで

document.querySelector("input[name=type]:checked").value; 
関連する問題