使用jquery切换时未检查复选框

时间:2010-10-01 08:00:45

标签: jquery

我希望在使用jquery切换功能时检查复选框。当我使用.bind('click')时,它工作正常。

$('#chkb').toggle(function () {

    $('#va').text("checked");
    $('#chkb').attr('checked', 'checked');

}, 
function () {

    $('#chkb').attr('checked', 'false');
    $('#va').text("");

});

HTML

<input type="checkbox" id="chkb" />

我如何完成它。

由于 让

2 个答案:

答案 0 :(得分:2)

chkb = $('#chkb');
va = $('#va');

chkb.change(function () {
   va.text(chkb[0].checked ? "checked" : "");
});

将选择器缓存到变量中会加快速度 - 不必每次都搜索dom。将chkb放入变量意味着它可以在jQuery的其他地方使用,而不是使用this

答案 1 :(得分:1)

你真的必须在代码中checked吗? (有没有我遗漏的东西?单击时复选框,已经切换了它的已检查属性值。)

更好的方法是使用这样的改变,

$('#chkb').change(function () {
    var self = this;
    $('#va').text(function(i,text){
        return self.checked?"checked":"";
    });
})