我正在使用jQuery .val()从包含两组单选按钮的表单中提取数据结果。
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function userPrefsSubmitted() {
console.log( $('form input[@name=cssOn]:checked').val() );
console.log( $('form input[@name=halfFramesOn]:checked').val() );
}
</script>
</head>
<body>
<p>Choose User Prefs</p>
<form>
<p>Transitions</p>
<div><input type="radio" name="cssOn" value=true>True</div>
<div><input type="radio" name="cssOn" value=false>False</div>
<p>Half Frames</p>
<div><input type="radio" name="halfFramesOn" value=true>True</div>
<div><input type="radio" name="halfFramesOn" value=false>False</div>
<br/><br/>
<input class="submitButton" type="button" onClick="userPrefsSubmitted()" value="tap when done" />
</form>
</body>
</html>
如果我选择了fasle然后是true并按下按钮,则console.log显示false false
这让我疯了,我在这个论坛以及互联网上搜索但没找到答案。我哪里错了?
答案 0 :(得分:8)
没有@
。你可以轻松地做到:
function userPrefsSubmitted() {
console.log( $('form input[name=cssOn]:checked').val() );
console.log( $('form input[name=halfFramesOn]:checked').val() );
}
答案 1 :(得分:2)
或试试这个:工作演示 http://jsfiddle.net/4T5r3/
注意:http://www.electrictoolbox.com/at-name-selector-removed-jquery/
没有@的这些选择器的使用也适用于jQuery 1.2分支。我不确定它是否适用于旧版本。
<强>码强>
function userPrefsSubmitted() {
alert($('form input[@name=cssOn]:checked').prop('value'));
alert($('form input[@name=halfFramesOn]:checked').prop('value'));
}
J 1.2&gt;
function userPrefsSubmitted() {
alert($('form input[name=cssOn]:checked').prop('value'));
alert($('form input[name=halfFramesOn]:checked').prop('value'));
}
工作图片 当选择真实
时工作图片 选择错误时
答案 2 :(得分:1)
function userPrefsSubmitted() {
console.log( $('form input[name=cssOn]:checked').val() );
console.log( $('form input[name=halfFramesOn]:checked').val() );
}
答案 3 :(得分:0)
也请
试试$(":checked").val()
而不是
$('form input[@name=halfFramesOn]:checked').val()
这将只返回所有选中的单选按钮。