我使用以下方法制作了自定义复选框:
也可在stackoverflow上使用:enter link description here
但是我想检查框是否被交叉检查但是我失败了bcz jquery没有显示任何内容。
$(document).ready(function () {
var ckbox = $('#demo_box_2');
$('#demo_box_2').on('click',function () {
if (ckbox.is(':checked')) {
alert('You have Checked it');
} else {
alert('You Un-Checked it');
}
});
});

input[type=checkbox].css-checkbox { position: absolute; overflow: hidden; clip: rect(0 0 0 0); height:1px; width:1px; margin:-1px; padding:0; border:0; }
input[type=checkbox].css-checkbox + label.css-label { padding-left:20px; height:15px; display:inline-block; line-height:15px; background-repeat:no-repeat; background-position: 0 0; font-size:15px; vertical-align:middle; cursor:pointer; }
input[type=checkbox].css-checkbox:checked + label.css-label { background-position: 0 -15px; } .css-label{ background-image:url(http://csscheckbox.com/checkboxes/lite-x-red.png); }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input id="demo_box_2" class="css-checkbox" type="checkbox" />
<label for="demo_box_2" name="demo_lbl_2" class="css-label">Selected Option</label>
</form>
&#13;
我不知道我错在哪里,我是否正确地将id传递给jquery,但仍然无法理解。
答案 0 :(得分:3)
您可以使用JQuery .is(":checked")
来执行此操作,如下所示:
$("input[type=checkbox]").click(function() {
var msg = "";
$("input[type=checkbox]").each(function() {
if ($(this).is(":checked")) {
msg += "#" + $(this).attr("id") + " is checked!\n";
} else {
msg += "#" + $(this).attr("id") + " is NOT checked!\n";
}
});
alert(msg);
});
答案 1 :(得分:2)
您的代码正常运行,但我做了一些更改,使用$(this)
代替id
选择器。
$(document).ready(function () {
$('#demo_box_2').on('click',function () {
if ($(this).is(':checked')) {
alert('You have Checked it');
} else {
alert('You Un-Checked it');
}
});
});
&#13;
input[type=checkbox].css-checkbox { position: absolute; overflow: hidden; clip: rect(0 0 0 0); height:1px; width:1px; margin:-1px; padding:0; border:0; }
input[type=checkbox].css-checkbox + label.css-label { padding-left:20px; height:15px; display:inline-block; line-height:15px; background-repeat:no-repeat; background-position: 0 0; font-size:15px; vertical-align:middle; cursor:pointer; }
input[type=checkbox].css-checkbox:checked + label.css-label { background-position: 0 -15px; } .css-label{ background-image:url(http://csscheckbox.com/checkboxes/lite-x-red.png); }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input id="demo_box_2" class="css-checkbox" type="checkbox" />
<label for="demo_box_2" name="demo_lbl_2" class="css-label">Selected Option</label>
</form>
&#13;