2016-04-20 6 views
-1

Ich habe diese jquery Schleife:jQuery ändern Null Into Zero Mit schlug fehl, wenn

var total_value = 0; 
$("select.dropdown").each(function() { 

    if (($(this).val()) = null) { 
     $(this).val() = 0; 
    } 

    alert ($(this).val()); 
    total_value = parseInt(total_value) + parseInt($(this).val()); 
}); 

einige $(this).val() noch null Wert haben, weil Benutzer noch nicht ausgewählt haben. aber ich muss alle Werte summieren. Also, ich muss null in 0 konvertieren, um berechnet zu werden.

aber ich kann es nicht warnen, weil dort IF dort ist. Was ist daran falsch? IF?

+1

'$ (this) .val (0)' – Tushar

+1

die Bedingung sollte sein if ($ (dies) .val() == null) –

Antwort

1

Wenn dies der Berechnung der Summe nur für Sake ist, dann müssen Sie die total_value Berechnung ändern:

total_value += $(this).val() == null ? 0: parseInt($(this).val(),10); 

Voll Snippet:

var total_value = 0; 
$("select.dropdown").each(function() { 
    total_value += $(this).val() == null ? 0: parseInt($(this).val(),10); 
}); 
+1

hallo bro, dein Code ist sehr kurz und ich mag es. aber ich erhalte immer noch 'NaN' als Ergebnis, wenn der Wert 'null' ist. Es scheint, dass Ihr Code "null" nicht in null konvertieren kann. –

+1

Ich behielt den Vergleich mit null als String.Sie müssen nur die Vergleichsanweisung hier ändern $ (this) .val() == null' –

+0

jetzt funktioniert es wie ein Charme. Vielen Dank, Bruder! –

1

Es sollte:

if ($(this).val() == null) { 
    $(this).val(0); 
} 
1

Sie verwenden derzeit die assignment operator = für die Gleichheit statt einer der Gleichheitsoperatoren == oder === in Ihrer if-Anweisung.

Zusätzlich wird die val() Funktion erwartet tatsächlich ein Parameter für den Wert, den Sie mögen, wie unten zu sehen Set:

// This will compare your value to null 
if ($(this).val() == null) { 
    // If it is null, it will set it to 0 
    $(this).val(0); 
} 
Verwandte Themen