如果......收音机被检查警报

时间:2012-06-11 21:19:25

标签: javascript jquery if-statement radio-button

我正在尝试编写一段在表单中使用用户选择的代码。 代码应该给出一个警报窗口,其中包含所选收音机的名称但不起作用,它只显示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 个答案:

答案 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()

DEMO: http://jsfiddle.net/skram/ur7cc/1/

答案 1 :(得分:2)

使用$(this)代替。 这是一个简化版本。

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

DEMO:http://jsfiddle.net/ur7cc/2/

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