我正在尝试编写一段在表单中使用用户选择的代码。 代码应该给出一个警报窗口,其中包含所选收音机的名称但不起作用,它只显示A警报,或者选择A是选择器,或者选择B. 这是表格
<FORM>
<input type="radio" name="search_type" value="A"/>type A<br/>
<input type="radio" name="search_type" value="B"/>type B<br/>
</FORM>
这是js代码
$(document).ready(function(){
$('input:radio[name="search_type"]').change(function() {
if ($('input:radio[name="search_type"]').val() == 'A'){
alert('type A');
};
if ($('input:radio[name="search_type"]').val() == 'B'){
alert('type B');
};
});
});
您可以在此找到正在运行的代码:http://jsfiddle.net/ur7cc/ 任何人都可以告诉我为什么它不起作用? 谢谢!
答案 0 :(得分:6)
在处理:checked
时,您需要使用.val()
选择器radio/checkbox
。或者,您可以使用$(this).val()
this
基本上是触发更改的无线电。见下文,
$(document).ready(function(){
$('input:radio[name="search_type"]').change(function() {
if ($(this).val() == 'A'){
alert('type A');
}
if ($(this).val() == 'B'){
alert('type B');
}
});
});
与:checked
选择器一起使用
$('input:radio[name="search_type"]:checked').val()
答案 1 :(得分:2)
使用$(this)
代替。
这是一个简化版本。
$(document).ready(function(){
$('input:radio[name="search_type"]').change(function() {
alert("Type: "+$(this).val());
});
});
答案 2 :(得分:0)
这是我编写和测试的工作代码。有用。它将复选框的状态写入另一个复选框。试一试。它对我有用。
<input type="radio" onclick="alert(this.name);" name="A"/> button A<br>
<input type="radio" onclick="alert(this.name);" name="B"/> button B<br>
我希望它有所帮助!
答案 3 :(得分:0)
$('input:radio[name="search_type"]')
选择器返回一个数组对象。你这太复杂了。无需再次使用它。这是使用检索到的对象的更简单的方法:
$(document).ready(function(e) {
$('input:radio[name="search_type"]').change(function() {
alert ("type "+$(this).val());
})
})