使用jQuery获取用户定义的名称

时间:2015-08-05 12:43:55

标签: javascript jquery html5

需要使用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");
});

3 个答案:

答案 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+"_]")