我使用这个制作了自定义复选框:
也可在 stackoverflow 上找到:在此处输入链接描述
但我正在尝试检查框是否被交叉检查,但我失败了 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');
}
});
});Run Code Online (Sandbox Code Playgroud)
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); }Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
我不知道我是否正确地将 id 传递给 jquery 但仍然无法理解我错在哪里。
您可以使用 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);
});
Run Code Online (Sandbox Code Playgroud)