测试是否使用jQuery选中了复选框

本文翻译自:Testing if a checkbox is checked with jQuery

If the checkbox is checked, then I only need to get the value as 1; 如果选中该复选框,那么我只需要将值设为1; otherwise, I need to get it as 0. How do I do this using jQuery? 否则,我需要将其设为0.如何使用jQuery执行此操作?

$("#ans").val() will always give me one right in this case: $("#ans").val()在这种情况下总是给我一个权利:

<input type="checkbox" id="ans" value="1" />

#1楼

参考:https://stackoom.com/question/KC8Z/测试是否使用jQuery选中了复选框


#2楼

Just use $(selector).is(':checked') 只需使用$(selector).is(':checked')

It returns a boolean value. 它返回一个布尔值。


#3楼

I've found the same problem before, hope this solution can help you. 我之前发现了同样的问题,希望这个解决方案可以帮到你。 first, add a custom attribute to your checkboxes: 首先,在复选框中添加自定义属性:

<input type="checkbox" id="ans" value="1" data-unchecked="0" />

write a jQuery extension to get value: 编写一个jQuery扩展来获取值:

$.fn.realVal = function(){
    var $obj = $(this);
    var val = $obj.val();
    var type = $obj.attr('type');
    if (type && type==='checkbox') {
        var un_val = $obj.attr('data-unchecked');
        if (typeof un_val==='undefined') un_val = '';
        return $obj.prop('checked') ? val : un_val;
    } else {
        return val;
    }
};

use code to get check-box value: 使用代码获取复选框值:

$('#ans').realVal();

you can test here 你可以在这里测试一下


#4楼

function chkb(bool){
if(bool)
return 1;
return 0;
}

var statusNum=chkb($("#ans").is(':checked'));

statusNum will equal 1 if the checkbox is checked, and 0 if it is not. 如果选中该复选框,statusNum将等于1,如果不是,则为0。

EDIT: You could add the DOM to the function as well. 编辑:您也可以将DOM添加到该函数中。

function chkb(el){
if(el.is(':checked'))
return 1;
return 0;
}

var statusNum=chkb($("#ans"));

#5楼

Try this 试试这个

$('input:checkbox:checked').click(function(){
    var val=(this).val(); // it will get value from checked checkbox;
})

Here flag is true if checked otherwise false 如果选中则返回false,则此标志为true

var flag=$('#ans').attr('checked');

Again this will make cheked 再次,这将使cheked

$('#ans').attr('checked',true);

#6楼

// use ternary operators
$("#ans").is(':checked') ? 1 : 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值