我正在创建一个经典的假复选框,所以我有自由的风格。
我可以创建一个if选中,或者只是触发一个兄弟输入的点击。
ifChecked只是因为某种原因第一次触发事件。
这会在视觉上检查框,但不会创建checked =“checked”
checkbox.click();
是一个可行的选项(即使没有检查=“已检查”)
HTML
<div class="col-xs-2">
<div class="fcb1" name="receive_info"></div>
<input type="checkbox" name="receive_info">
</div>
<div class="col-xs-10">
lorem
</div>
<div class="col-xs-2">
<div class="fcb2" name="tos"></div>
<input type="checkbox" name="tos" >
</div>
这是JS
$('div[class^="fcb"]').click(function(){
$(this).toggleClass("checked");
var checkbox = $(this).siblings("input");
checkbox.click();
});
这是使用Prop:
$('div[class^="fcb"]').click(
function(){
$(this).toggleClass("checked");
var checkbox = $(this).siblings("input");
/*checkbox.click();*/
var isChecked = checkbox.is(':checked');
if (isChecked){
console.log('event');
checkbox.prop('checked', "");
} else {
checkbox.prop('checked', 'checked');
}
});