保持检测单选按钮中选择的值

时间:2014-02-18 13:03:33

标签: jquery

下面的代码在加载时抛出警报,因为它检测到第二个单选按钮被选中。但是,如果我选择第一个,然后再次选择第二个,则不会抛出警报..为什么?

http://jsfiddle.net/h6j58/3/

<input type="radio" id="s530351a84b2aa_tipo_0" name="radioName" required="required" value="0"  >
<input type="radio" id="s530351a84b2aa_tipo_1" name="radioName" required="required" value="1" checked="checked">

$(document).ready(function(){
    if($("input[name=radioName]:checked").val() == 1)
    {
    alert("fajslf");    
    }
});

6 个答案:

答案 0 :(得分:1)

这是因为您没有捕获任何事件,只是检查document load上是否检查了您的某个辐射。您需要捕获单选按钮的change事件,如下面的代码所示:

$("input[name=radioName]").on("change", function () {
    if($("input[name=radioName]:checked").val() == 1)
    {
        alert("fajslf");    
    }
});

Fiddle demo

答案 1 :(得分:0)

因为您if document ready时就使用了此change声明。您需要添加$("input[name=radioName]").on("change", function () { if (this.checked && this.value === "1") { alert("fajslf"); } }); 事件处理程序来检测对无线电元素所做的更改。

checkRadio

JSFiddle demo

  

我的意思是它应该在刚刚加载页面时抛出警报。

在这种情况下,您可以将支票移动到单独的功能中。在这里,我调用了这个函数function checkRadio(elem) { // If this element has a value of 1 and is checked, alert if (elem.value === "1" && elem.checked) alert("fajslf"); } // On radio change function, call checkRadio $("input[name=radioName]").on("change", function () { checkRadio(this); }); // Call checkRadio on document ready, passing in the radio with value of 1 checkRadio($('input[name=radioName][value=1]')[0]); ,它将一个元素作为唯一的参数:

{{1}}

JSFiddle demo

答案 2 :(得分:0)

http://jsfiddle.net/h6j58/6/

$(document).ready(function(){
    $('input[name=radioName]').change(function(){
    if($(this).val() == 1)
    {
    alert("fajslf");    
    }
    });
});

答案 3 :(得分:0)

像这样编辑你的代码:

$(".testValue").change(function(){
    if($("input[name=radioName]:checked").val() == 1)
    {
    alert("fajslf");    
    } 
});

并添加您的输入。

检查它FIDDLE:http://jsfiddle.net/mehmetakifalp/h6j58/7/

答案 4 :(得分:0)

我已更新了您的Fiddle demo

$(document).ready(function(){
    $("input[name=radioName]").click(function() {

       if($(this).prop('checked') && $(this).val() == 1)
        {
            alert("fajslf");    
       }   
    });
});

答案 5 :(得分:0)

你可以尝试这种方式

$(document).ready(function () {
        $('input[name=radioName]:checked').change(function () {

                alert("alert statements...");

        });
    });