在我的jQuery代码中,当我点击第二个td,其中有一个tr中的输入然后是我的代码中检查此输入如果语句没有执行它执行else语句类似,否则语句也执行给出一个解决方案。
$(function(){
$("table.confirmit-grid >tbody >tr >td:nth-child(3) input").prop("disabled",true);
$("table.confirmit-grid >tbody >tr >td:nth-child(2)").click(function(){
if($(this).find("input").is(":checked")) // this statement execute when input is unchecked
{
$(this).parent().find("td:nth-child(3) input").prop("disabled",false);
}
else //this statement execute when input is checked
{
$(this).parent().find("td:nth-child(3) input").prop("disabled",true);
$(this).parent().find("td:nth-child(3) input").prop("checked",false);
}
});
});
答案 0 :(得分:0)
我认为你的逻辑是倒退的:
// this will be true if there are any checked boxes, so you need to negate it with a !
if($(this).find("input").is(":checked"))
我想你想要
$(function(){
$("table.confirmit-grid >tbody >tr >td:nth-child(3) input").prop("disabled",true);
$("table.confirmit-grid >tbody >tr >td:nth-child(2)").click(function(){
if(!$(this).find("input").is(":checked")) // this statement execute when input is unchecked
{
$(this).parent().find("td:nth-child(3) input").prop("disabled",false);
}
else //this statement execute when input is checked
{
$(this).parent().find("td:nth-child(3) input").prop("disabled",true);
$(this).parent().find("td:nth-child(3) input").prop("checked",false);
}
});
});
//如果有任何复选框
,则为真