2014-01-29 15 views
1

我有一個問題。簡單的方法來檢查任何複選框或任何輸入框填充

我在我的頁面上有幾個複選框和幾個輸入框。

而且它們被用作在目錄中的過濾器和一切工作。

但是當我點擊一個產品,我去詳細信息頁面,然後再在所有瀏覽器再次顯示了正確的選擇的東西,但在Chrome它表明即使複選框是正確的默認頁。

所以,我想用我的代碼運行一個函數,該函數負責在每次檢查至少一個複選框或在輸入框中至少輸入一個字母或數字時,過濾列表頁上的結果。

是否有任何通用的方式如何在JavaScript或jQuery中的任何checkobox檢查和任何輸入填充條件?

類似:

if ($("anycheckbox:checked") OR $("anyinputbox:filled")) { 
    // do my filtr code 
} else { 
    // do nothing 
} 

回答

0

$("checkbox").prop("checked")基於元素的狀態truefalse應該返回。

對於多個複選框,如果它們都具有相同的類,那麼就使用,

$(".className").prop("checked"); 

對於輸入框,你也可以嘗試連接同一類,並檢查輸入是否爲空。

!$(".className").val(); 

上述語句應返回true或false。基於此進行操作。

+0

謝謝,但我有很多複選框和頁面上的許多輸入框。有沒有簡化的飲料?或者你的解決方案是這樣工作的?輸入框怎麼樣?你如何在if else語句中做到這一點? –

0

您可以使用filter()來檢查,如果他們進行檢查,並具有價值

$('input').filter(function(){ 
    return this.checked || !!this.value && this.type !="checkbox"; 
}) 

DEMO

0

演示FIDDLE

jQuery的

$(document).ready(function(){ 
var isFilter=false; 
$('input[type="checkbox"]').each(function(){ 
    if($(this).prop("checked")) 
     isFilter=true; 
    }); 
$('input[type="text"]').each(function(){ 
    if($.trim($(this).val()).length) 
     isFilter=true; 
    }); 
if(isFilter) 
{ 
    //Filter Code 
} 
} 
}); 

在演示我使用點擊事件檢查目的

0

您可以在下面的檢查選中複選框的jsfiddle檢查..

jsfiddle.net/QkEv2/

相關問題