我在隐藏和显示行的代码中遇到问题但是它无效。当我评论第二循环的代码然后它完全没问题,但当我添加第二循环然后又麻烦。这是我的代码。
<script>
$("#btnClick").click(function(){
$("form input[type=checkbox]:not(:checked)").each(
function(){
var checkBoxID = $(this).attr('id');
//alert("checkBoxID"+" "+checkBoxID);
$("table td").each(function(){
if(checkBoxID==$(this).attr('id')){
//alert($(this).attr('id'));
$(this).hide();
}
});
});
$("form input[type=checkbox][checked]").each(
function(){
var checkBoxID = $(this).attr('id');
//alert("checkBoxID"+" "+checkBoxID);
$("table td").each(function(){
if(checkBoxID==$(this).attr('id')){
//alert($(this).attr('id'));
$(this).show();
}
});
});
});
</script>
先谢谢。
答案 0 :(得分:0)
实际发生的是在$ .each循环中,当你引用$(this)时它实际上正在检查td,因为你正在使用$(“table td”)。
实际上......第二次看起来你可能使用相同的ID作为复选框而td隐藏了它?
问题:用这个替换最初的每个函数:
$("form input[type=checkbox]").not(":checked").each(//..
$("#btnClick").click( function(){
$("form input[type=checkbox]:not(:checked)").each( function(){
var checkBoxID = $(this).attr('id');
//alert("checkBoxID"+" "+checkBoxID);
$("table td").each(function(){
if(checkBoxID==$(this).attr('id')){
//alert($(this).attr('id'));
$(this).hide();
}
});
});
$("form input[type=checkbox][checked]").each( function(){
var checkBoxID = $(this).attr('id');
//alert("checkBoxID"+" "+checkBoxID);
$("table td").each(function(){
if(checkBoxID==$(this).attr('id')){
//alert($(this).attr('id'));
$(this).show();
}
});
});
});
答案 1 :(得分:0)
替换此
$(“形式 输入[类型=复选框] [选中]“)。每个(
与
$(“形式 输入[类型=复选框]:检查“)每个(