我有一段代码可以正常工作,当我选中或取消选中复选框时,但是当我最初加载我的页面并且我的一些复选框已经被选中时,我想显示div框是可见的但是代码没有这样做,我错过了什么
请通过以下代码进行指导
谢谢
0 <= n + n^2 <= cn^2
答案 0 :(得分:1)
首先,您错过了if
州条件周围的.showinvoice
语句。
其次,您应该使用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
答案 1 :(得分:0)
尝试将您的第一部分更改为...
//check the state of the checkox
$(".showinvoice:checked").each(function() {
var stats = $(this).data('id');
$("#"+stats).css('display','block');
});