在jQuery中,如何获得单选button的值时,他们都具有相同的名称?

这是我的代码:

<table> <tr> <td>Sales Promotion</td> <td><input type="radio" name="q12_3" value="1">1</td> <td><input type="radio" name="q12_3" value="2">2</td> <td><input type="radio" name="q12_3" value="3">3</td> <td><input type="radio" name="q12_3" value="4">4</td> <td><input type="radio" name="q12_3" value="5">5</td> </tr> </table> <button id="submit">submit</button> 

这是JS:

 $(function(){ $("#submit").click(function(){ alert($('input[name=q12_3]').val()); }); }); 

这里是JSFIDDLE ! 每次我点击button它返回1.为什么? 任何人都可以帮我吗?

在你的代码中,jQuery只是查找名为q12_3的input的第一个实例,在这种情况下,它的值为1 。 你想要一个名为q12_3的input:checked

 $("#submit").click(function() { var val = $('input[name=q12_3]:checked').val(); alert(val); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tr> <td>Sales Promotion</td> <td><input type="radio" name="q12_3" value="1">1</td> <td><input type="radio" name="q12_3" value="2">2</td> <td><input type="radio" name="q12_3" value="3">3</td> <td><input type="radio" name="q12_3" value="4">4</td> <td><input type="radio" name="q12_3" value="5">5</td> </tr> </table> <button id="submit">submit</button> 

在你的select器中,你也应该指定你想要检查的单选button:

 $(function(){ $("#submit").click(function(){ alert($('input[name=q12_3]:checked').val()); }); }); 

您可能想要更改select器:

$('input[name=q12_3]:checked').val()

还有另一种方式。 尝试下面的代码

 $(document).ready(function(){ $("input[name='gender']").on("click", function() { alert($(this).val()); }); }); 

$('input:radio[name=q12_3]:checked').val();

使用这个脚本

 $('input[name=q12_3]').is(":checked"); 

演示 : https : //jsfiddle.net/ipsjolly/xygr065w/

 $(function(){ $("#submit").click(function(){ alert($('input:radio:checked').val()); }); });