2013-04-27 60 views
0

我需要的值不是空選擇器來計算是否至少有2個名稱爲[]的輸入被填充。我有jQuery 1.7.2之前,並沒有價值!=「」選擇器工作。jquery 1.9。 [value!=「」]選擇器

$('input[name="choices[]"][value!=""]').length 

現在我升級做的jQuery 1.9.1,這總是返回所有字段充滿各個領域的數量,即使他們沒有被填補。有其他選擇嗎?

回答

1

這不工作了,因爲有一個字段的當前值和value屬性(通常保存值當HTML被解析的)之間的差異。

你可能要在那裏扔一個not

$('input[name="choices[]"]').not(function() { 
    return !!this.value; 
}).length 

...或filter

$('input[name="choices[]"]').not(function() { 
    return !this.value; 
}).length 
0

你可以簡單地這樣做:

$('input[name="choices[]"]').filter(function() { 
    return $(this).val() != ""; 
}).length 
+1

'。 val()'只適用於一個元素。 – Blender 2013-04-27 10:11:42

+0

@Blender:這個怎麼樣? – 2013-04-27 10:14:28

+0

當然,這是有效的。 – Blender 2013-04-27 10:15:53