获取复选框值

时间:2009-06-05 10:05:58

标签: jquery

我想获得结果变量中复选框的值。但我在警告框中将值视为“未定义”。我的错是什么?

var result = "";
$("#required").change(function (){
        result= $(".mycheckbox:checked").val();
        alert(result);
        });


<div class=".mycheckbox">
<input id="required" type="checkbox" title="Required" name="required" value="required">
<label for="required">Required</label> 
</div>

4 个答案:

答案 0 :(得分:4)

在你的代码中

result= $(".mycheckbox:checked").val();

我认为应该是

result= $("#required").val();

答案 1 :(得分:4)

最好使用点击事件而不是更改,因为根据浏览器,更改事件的工作方式不同,例如IE only fires the change event when the checkbox loses focus

$(function() {
    $("#required").click(function (){ 
        var result= $(this).attr('checked');  
        alert(result);                
    });   
});

Working Demo

修改

我想我可能误解了你的问题。如果您只想在选中复选框时显示带复选框值的警报,则以下内容将起作用

$(function() {
    $("#required").click(function (){ 
        if ($(this).is(':checked')) { 
            var result = $(this).val();  
            alert(result);  
        }              
    }); 
});

Working Demo

答案 2 :(得分:2)

$(“。mycheckbox:checked”)不正确,应该是:

$(".mycheckbox :checked")

(注意空格)

您的div声明也不正确。您不应在类名中添加点:

<div class="mycheckbox">

答案 3 :(得分:2)

您可以执行以下操作:

var result = ($("#required").is(':checked')) ? $("#required").val() : false;