2014-11-25 41 views
1

我儘量做到形式與jquery 1.11.1,但複選框不工作!這是語法錯誤?語法錯誤,無法識別的表達式:[對象HTMLDivElement]輸入:複選框[名稱=]:檢查

$(this + "input[name=''] :checked").each(function() { 
totalSum += parseInt($(this).val()); 
}); 
+1

你不能用'this'加上字符串作爲一個選擇。並在':checked'之前刪除該空格。 – 2014-11-25 01:05:44

+2

'[object HTMLDivElement]'是選擇器中的語法錯誤。 'this'是一個** DOM元素**。你期望從** DOM元素**和**字符串**連接起來? – 2014-11-25 01:06:58

回答

2

你可能想使用這樣的事:

$(this).find("input[name='']:checked").each(function() { 
    totalSum += parseInt($(this).val()); 
}); 

使用find()您可以搜索的元素,這是一個給定的元素的後裔。


不管怎樣,你確定你要搜索<input>元素,其中有一個name屬性設置爲空字符串?因爲那是你目前選擇的。

+0

不要忘了'$(「輸入[名稱=‘’]:勾選」,這一點)',這是一樣的答案。 – 2014-11-25 01:11:26

0

只要是不同的......

var totalSum = $(this) 
.find("input[name='']:checked") 
.map(function() { return parseInt(this.value, 10); }) 
.get() 
.reduce(function(total, value) { return total + value; }, 0); 
+0

get()是什麼意思?哪個原型是從哪裏來的? – Sirko 2014-11-25 01:12:21

+0

@Sirko將它變成真正的陣列。它在jQuery上,因爲我直接在集合上調用它。 – alex 2014-11-25 02:06:25

相關問題