[英]Jquery Code to show link while checkbox is checked on initial page load
我有以下一段代码可以正常工作,当我选中或取消选中复选框时,但是当我最初加载我的页面并且某些复选框已经被选中时,我想显示div框可见,但是代码不可见这样做,我有什么遗漏吗
请指导以下代码
谢谢
$(document).ready(function() {
//check the state of the checkox
$(".showinvoice").is(':checked') {
var stats = $(this).attr('data-id');
$("#"+stats).css('display','block');
}
//check the code only when the click button is triggered
$(".showinvoice").click(function(e) {
var getStudent = $(this).attr('data-id');
if ($(this).is(':checked')) {
$("#"+getStudent).css('display','block');
} else {
$("#"+getStudent).css('display','none');
}
});
});
首先,您缺少有关.showinvoice
状态条件的if
语句。
其次,您应该使用data()
方法访问data-*
属性。 处理单选和复选框输入时,还应该使用change
方法,以便使用键盘导航的用户仍会引发事件。 最后,您可以删除if
语句,而只需使用toggle()
。
要实现所需的全部功能,请在页面加载时在复选框上引发一个change
事件。 尝试这个;
// check the state of the checkox
if ($(".showinvoice").is(':checked')) {
var stats = $(this).data('id');
$("#" + stats).show();
}
// check the code only when the click button is triggered
$(".showinvoice").change(function(e) {
var getStudent = $(this).data('id');
$("#" + getStudent).toggle(this.checked);
}).change(); // < to run this code when the page loads
尝试将您的第一部分更改为...
//check the state of the checkox
$(".showinvoice:checked").each(function() {
var stats = $(this).data('id');
$("#"+stats).css('display','block');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.