Das Element muss mit jquery nach Namen abgerufen werden. Zum Abrufen des Namenswerts wird es mit samp (Variable) verknüpft. kann das Namenselement nicht bilden. Es gibt ein Problem mit der Verkettung, bitte helfen Sie.

$("input[name^='resource_" + samp + "_']")

Vollständiger Code:

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
Prakash_se7en 5 Aug. 2015 im 15:43

3 Antworten

Beste Antwort

Da wir nicht sicher sind, welches Format der Wert "samp" enthalten wird, müssen wir sicherstellen, dass der Wert ordnungsgemäß mit richtigen Anführungszeichen versehen ist.

$('[property=value]');

Funktioniert, wenn Sie keine Leerzeichen haben oder der Selektor nicht sofort weiß, wo sich das Ende des Eigenschaftswerts befindet

$('[property=my value]');

Verwirrt den Parser für das System und als solches müssen Sie den Wert korrekt mit Anführungszeichen "maskieren" oder "umbrechen", z. B.:

$('[property="my value"]');

Hier ist meine Version Ihres Codes für Hilfe

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");
});

Als Beispiel habe ich diese JSFiddle erstellt: http://jsfiddle.net/fua9rtjd/

5
BinaryKitten 5 Aug. 2015 im 13:21

Versuchen:

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");
    });

Probleme mit Namen wie: '% name%' - müssen nicht verwendet werden ' Rechts: $("input[name^=resource_"+samp+"_]")

0
viktor.svirskyy 5 Aug. 2015 im 12:48

Hat name das ausgewählte thisVal Element zugeordnet? Hier ist die JsFiddle, die für mich funktioniert.

1
lgabster 5 Aug. 2015 im 13:00