我想通过检查是否选中第一个复选框来显示/隐藏复选框。
代码:
$j('#main_share').bind("click", function() {
if( $j(this).is(':checked') ) {
//check ext_share box
$j('#allow_ext_share').attr('checked', true);
//show ext_share box
$j('#ext_share_li').show();
} else {
//hide ext_share box
$j('#ext_share_li').hide();
//uncheck ext_share box
$j('#allow_ext_share').attr('checked', false);
}
});
当我取消选中框时,按预期工作,但是如果我重新检查它,复选框会再次显示,但仍未选中?
问题:如何再次显示复选框时如何选中。
答案 0 :(得分:4)
你应该使用prop而不是attr:
$j('#allow_ext_share').prop('checked', true);
//Later
$j('#allow_ext_share').prop('checked', false);
还可以将代码减少到:
$j('#main_share').bind("click", function() {
$j('#allow_ext_share').prop('checked', this.checked);
$j('#ext_share_li').toggle(this.checked);
});
答案 1 :(得分:0)
将attr
更改为prop
$j('#allow_ext_share').prop('checked', true);