我已经在HTML格式中定义了一组单选按钮,如下所示。我的表单名称是“MyForm”。当选择女性时,我希望变量的值等于“女性”。
<fieldset data-role="controlgroup" data-type="horizontal" id="gender" name="gender">
<legend>Gender :</legend>
<input type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" checked="checked" />
<label for="radio-choice-1">Male</label>
<input type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2"/>
<label for="radio-choice-2">Female</label>
</fieldset>
我试过var
genderValue = $('input[name=gender]:checked', '#MyForm').val()
但这不起作用。什么是正确的方法?
答案 0 :(得分:4)
您可以将值(female
,...
)存储在输入的值属性中,根据您的标记,您可以尝试以下操作:
$('input[name="radio-choice-1"]').change(function(){
var genderValue = $(this).next('label').text()
})
<小时/> 但我建议这个:
<fieldset data-role="controlgroup" data-type="horizontal" id="gender" name="gender">
<legend>Gender :</legend>
<input type="radio" name="radio-choice-1" id="radio-choice-1" value="Male" checked="checked" />
<label for="radio-choice-1">Male</label>
<input type="radio" name="radio-choice-1" id="radio-choice-2" value="Female"/>
<label for="radio-choice-2">Female</label>
</fieldset>
$('input[name="radio-choice-1"]').change(function(){
var genderValue = this.value
})
答案 1 :(得分:1)
您的问题已解决如下:
<强> HTML:强>
<form id="MyForm" name="MyForm" method="post">
<fieldset>
<legend>
Gender
</legend>
<div id="panel">
<input type="radio" name="radio-choice" id="radio-choice-1" value="choice-1" />
<label for="radio-choice-1">
Male
</label>
<input type="radio" name="radio-choice" id="radio-choice-2" value="choice-2" />
<label for="radio-choice-2">
Female
</label>
</div>
<div id="result">
</div>
</fieldset>
</form>
<强> jQuery的:强>
$(function() {
$('input[name="radio-choice"]').change(function() {
var genderValue = $(this).next('label').text();
$("#result").html("<p> You have selected " + genderValue + ".");
})
});
上做过垃圾箱
答案 2 :(得分:1)
这可能对某人有帮助,这是另一种检索所选单选按钮值的方法
var gender = $('input[name="radio-choice-1"]:checked').val();
此处可选择将ID设置为单选按钮。
快乐的编码!....