1

我正在尝试编写一段在表单中使用用户选择的代码。代码应该给出一个警报窗口,其中包含所选收音机的名称但不起作用,它只显示 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/ 谁能告诉我为什么它不工作?谢谢!

4

4 回答 4

6

处理时需要使用 with:checked选择器。或者,您可以使用where基本上是触发更改的收音机。见下文,.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()

演示:http: //jsfiddle.net/skram/ur7cc/1/

于 2012-06-11T21:20:37.327 回答
2

改为使用$(this)。这是一个简化版本。

$(document).ready(function(){
    $('input:radio[name="search_type"]').change(function() {
        alert("Type: "+$(this).val());
    });
});
​

演示:http: //jsfiddle.net/ur7cc/2/

于 2012-06-11T21:22:03.553 回答
1

这是我编写和测试的工作代码。有用。它在不同的复选框中写出复选框的状态。试一试。它对我有用。

<input type="radio" onclick="alert(this.name);" name="A"/> button A<br>
<input type="radio" onclick="alert(this.name);" name="B"/> button B<br>

我希望它有帮助!

于 2012-06-11T21:31:41.517 回答
0

选择$('input:radio[name="search_type"]')器返回一个数组对象。你把这个复杂化了。无需再次使用它。这是使用检索到的对象的更简单的方法:

$(document).ready(function(e) {

 $('input:radio[name="search_type"]').change(function() {
    alert ("type "+$(this).val());
  })
})
于 2012-06-11T21:44:22.150 回答