请您查看This Demo,让我知道为什么toggle
在检查和取消选中复选框时效果不佳?
这是我的代码:
$(document).ready(function(){
$('.checker').toggle(
function () {
$('#check').attr('Checked','Checked');
},
function () {
$('#check').removeAttr('Checked');
}
);
});
由于
答案 0 :(得分:2)
由于您正在寻找切换已检查状态,因此无需使用.toggle()。同时使用.prop()代替.attr()来设置已检查状态
$(document).ready(function () {
$('.checker').click(function () {
$('#check').prop('checked', function (i, checked) {
return !checked
});
});
});
演示:Fiddle
在jQuery 1.9中删除了.toggle(),所以最好不要再使用它了
答案 1 :(得分:1)
试试这个
$(document).ready(function(){
$('.checker').toggle(
function () {
$('#check').attr('Checked','Checked');
},
function () {
$('#check').prop('checked', false)
}
);
});
更新了小提琴:http://jsfiddle.net/57aq6/
礼貌地提出这个问题:Remove attribute "checked" of checkbox
答案 2 :(得分:1)
现在它工作了我已经更新了,问题出在属性Checked
和HTML中的错误中:
<强>的jQuery 强>
$(document).ready(function(){
$('.checker').toggle(
function () {
$('#check').attr('checked','checked');
},
function () {
$('#check').removeAttr('checked');
}
);
});
这是另一个涵盖问题的答案
答案 3 :(得分:1)
其实我不知道这段代码有什么问题,但我用它来做这项工作的是:
$('#check').attr('Checked',true);
和
$('#check').attr('Checked',false);
它运作得很好。