2014-11-25 35 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

相关问题