返回上一页并未提供正确的复选框值

时间:2012-09-15 23:40:44

标签: php jquery

在向php文件提交搜索查询后,我尝试返回上一页,以测试是否一切都很好。

> search.php [goto] > results.php [backto] > search.php

我有一些JQuery代码,用于检查登陆search.php文件时是否选中了复选框

$(document).ready(function(){       
   if($("input[name=filterSite]").not(':checked')){
       alert("not checked");
   }
});

即使html标记始终设置为以下

,它也始终返回not checked
<input name="filterSite" type="checkbox"   id="filterSite" checked="checked" />

可能导致此问题的原因是什么?以及如何修复它?

2 个答案:

答案 0 :(得分:2)

大多数jQuery方法返回对象,而不是布尔值(因此您可以链接方法以获得所需的结果)。 .not()的返回值将始终是一个对象(在上述条件下将评估为true)。

你想要的是这两个中的一个:

$(document).ready(function(){       
   if($("input[name=filterSite]").not(':checked').size()){
       alert("not checked");
   }
});

OR:

$(document).ready(function(){       
   if($("input[name=filterSite]").is(':checked') == false){
       alert("not checked");
   }
});

.size()将返回当前属于选择器

的元素数

.is()返回boolean,评估选择器中的元素是否与给定条件匹配

答案 1 :(得分:0)

你的jquery应该是

 $(document).ready(function(){         
 if(!$("input[name=filterSite]:checked")){
       alert("not checked");
   }
});​