我有动态页面。
有多个复选框和&amp;我正在使用此脚本仅在选中复选框时显示其受尊重的<div>
。
$(document).ready(function() {
$("#checkbox$").click(function() {
if (this.checked) {
$('#appear_div$').fadeIn('slow');
}
else {
$('#appear_div$').fadeOut('slow');
}
});
});
// Here $ is unique ID number for each <div> as my content is dynamic &
// I am using {foreach} tag.
现在,我有另一个我希望以上所有内容出现的父母。
但如果没有选中上述复选框,请隐藏此父div。
这是我正在使用的代码
function doInputs(obj){
var checkboxs = $("input[type=checkbox]:checked");
var i =0, box;
$('#parent_div').hide();
while(box = checkboxs[i++]){
if(!box.checked);
$('#parent_div').show();
break;
}
}
除了这个问题,这段代码工作正常......
说,
我查看了Checkbox ID 1 ---&gt; #parent_div show ---&gt; #shown_div1 show -
我查看了Checkbox ID 2 ---&gt; #parent_div show ---&gt; #shown_div2 show -
,然后
我取消选中复选框ID 1 ---&gt; #parent_div show ---&gt; #eyes_div1隐藏 -
我取消选中复选框ID 2 ---&gt; #parent_div隐藏---&gt; #eject_div2隐藏 -
然后再次
我取消选中复选框ID 2 ---&gt; #parent_div显示---&gt; #appeout_div2显示 -
现在这是问题......
即使没有选中复选框ID 1我也可以在#parent_div中看到#append_div1。
为什么?我哪里错了???
感谢。
答案 0 :(得分:1)
$(document).ready(function() {
$("#checkbox$").click(function() {
if (this.checked) {
$('#appear_div$').fadeIn('slow');
}
else {
$('#appear_div$').fadeOut('slow');
}
if ($("input:checkbox:checked").length){
$('#parent_div').show();
} else {
$('#parent_div').hide();
}
});
});