需要使用jquery按名称获取元素,为了获取名称值,它与samp(变量)连接。无法形成名称元素。串联有一些问题请帮忙。
$("input[name^='resource_" + samp + "_']")
完整代码:
var samp = $(thisVal).attr('name'); //user defined name
$("input[name^='resource_" + samp + "_']").each(function(key,val){
alert("calcwk entered");
if ($(this).val() === '') {
theVal = 0;
}
else {
theVal = parseInt($(this).val());
}
tot = tot + theVal;
alert("calcwk exit");
});
答案 0 :(得分:5)
由于我们不能确定格式的价值" samp"将包含我们需要确保用正确的引号正确覆盖该值。
$('[property=value]');
因为你没有空格或者无论如何选择器都不会立即知道属性值的结尾,而
$('[property=my value]');
混淆了系统的解析器,因此你需要正确地"转义"或者"包装"带引号的值例如:
$('[property="my value"]');
这是我的帮助代码版本
var samp = $(thisVal).attr('name'), //user defined name
tot = 0 //define the total
;
$('input[name^="resource_' + samp + '_"]').each(function(key,val){
var theVal = $(this).val(); // do a jQuery call once per item
if (theVal === '') {
theVal = 0; // if this is text change to 0
}
tot += parseInt(theVal); // no need with else, parseInt everything
alert("calcwk exit");
});
举个例子,我创建了这个JSFiddle:http://jsfiddle.net/fua9rtjd/
答案 1 :(得分:1)
name
元素属于thisVal
元素吗?
以下是适用于我的JsFiddle。
答案 2 :(得分:0)
尝试:
var samp = $(thisVal).attr('name'); //user defined name
$("input[name^=resource_"+samp+"_]").each(function(key,val){
alert("calcwk entered");
if( $(this).val() === '' ){
theVal = 0;
}
else{
theVal = parseInt($(this).val());
}
tot = tot + theVal;
alert("calcwk exit");
});
麻烦的名称如下:'%name%' - 不需要使用'
右:$("input[name^=resource_"+samp+"_]")