2012-09-15 30 views
0

將搜索查詢提交給php文件後,我嘗試返回前一頁以測試所有內容是否正常返回上一頁沒有給出正確的複選框值

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

我的jQuery代碼此位如果複選框後降落在的search.php文件檢查,檢查

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

它總是返回not checked即使HTML標記總是被設置爲以下

<input name="filterSite" type="checkbox" id="filterSite" checked="checked" /> 

什麼可能導致此問題?我該如何解決它?

+0

你如何回到'results.php'?是否有提交按鈕,或者您使用瀏覽器的後退按鈕? – andrewsi

+0

jquery checkinf爲filterSite,輸入名稱爲filterSize。也許這就是爲什麼? – Tom

+0

我回去使用Chrome瀏覽器的「返回」按鈕 –

回答

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()返回布爾值,評估選擇器中的元素是否與給定條件匹配

+0

謝謝,這似乎工作 –

0

你的jquery應該是

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