在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()); }); });