我正在使用ajax来加载表单字段。当您选择学校时,等级字段会加载。选择成绩后,将显示“显示名称”复选框。当出现全选框时,我必须单击两次全选框才能使用它。就像复选框在第二次点击之前不是DOM的一部分。我不确定问题是什么。
这是我的所有代码。
showname.html
<input type="checkbox" class="coursereportcheckall" onChange="ThirdCheck();" id="checkall" name="coursereportcheckall">Select All<br>
<input type="checkbox" onChange="FourthCheck(this.selectedIndex);" value="10" class="tid" id="tid" name="tid"> George Washington<br>
<input type="checkbox" onChange="FourthCheck(this.selectedIndex);" value="11" class="tid" id="tid" name="tid"> John Adams<br>
showcourse.html
<input type="checkbox" id="checkallcourse">Select All<br />
<input type="checkbox" name="cid" id="cid" class="cid" value="12"/> Twelve<br />
<input type="checkbox" name="cid" id="cid" class="cid" value="13"/> Thirteen<br />
<input type="checkbox" name="cid" id="cid" class="cid" value="14"/> Fourteen<br />
答案 0 :(得分:1)
您需要在ThirdCheck函数之外“启动”jQuery。这应该在加载jquery时设置,而不是在单击复选框时设置。
$(document).on('click', '.#checkall', function(event) ...
您的问题是点击处理程序是在您第一次单击时设置的,然后在您第二次单击时执行。
此外,您不需要包含“。”在'。#checkall'面前。