2016-06-17 10 views
0

Eigentlich in meiner Funktion muss ich zwei Zeichenfolgen, die eine Zeichenfolge ich durch die db vergleichen und mit der null Zeichenfolge vergleichen, aber es funktioniert nicht .. Hier ist mein Code:Vergleich von zwei String funktioniert nicht im Skript

order.items.forEach(function(entry) { 
          result += '<tr>' 
             + '<td>'+'<font size=2>'+ a++ + '</font>'+ '</td>' 
             + '<td>' +'<font size=2>'+ entry.title + '</font>'+ '</td>' 
             + '<td>' +'<font size=2>'+ entry.quantity + '</font>'+'</td>'   
            if(entry.personalization == 'null')  //here is the problem              
             + '<td>' +'<font size=2>'+ 'No Personalization' + '</font>'+'</td>' 
            else 
             + '<td>' +'<font size=2>'+ entry.personalization + '</font>'+'</td>'           


            + '</tr>'; 
         }) 

        result +='</table>'; 

$('.modal-body').html(result); 
+1

'null' nicht' 'null'' –

+0

vergleichen Sie es wie if (! (Entry.personalization)) – Ripun

+0

@Ripun Was passiert, wenn 'entry.personalization' ist auf Null? Wird dein Tipp noch halten? – spender

Antwort

0

Sie müssen null um '' nicht wickeln.

einfach verwenden: -

if(entry.personalization == null) 
+0

immer noch nicht funktioniert –

1

leer oder Null-String in jquery Um zu überprüfen:

if (!entry.personalization) { 
    // is empty 
} 
+0

Gleiches Ergebnis ................. –

+0

@KartikeyaKhosla $ .trim() wird verwendet für Entfernen Sie die Leerzeichen am Anfang und am Ende der Zeichenfolge. –

1

Wie in Ihrer Frage erwähnt, wenn eine Zeichenfolge i von Ihnen geholt und die anderen Zeichenfolge "null", Es ist eine klare Frage des Zeichenkettenvergleichs und nicht null überprüfend ...

Javascript hat localeCompare() Methode, um Zeichenketten zu vergleichen.

sollten Sie

entry.personalization.localeCompare("null"); 

oder seine inverse

var n = "null"; 
n.localeCompare(entry.personalization); 

liefert diese Funktion boolean verwenden.

+0

m bereits versuchen localeCompare(), aber das Ergebnis ist das gleiche ..... –

+0

Was gibt es zurück console.log (entry.personalization) –

+0

eigentlich weiß ich nicht, wie console.log() verwenden, so werde ich das Ergebnis bald aktualisieren –

2

Verwenden Sie console.log(entry.personalization), um den Wert zu überprüfen.

Antwort des Dhara sollte funktionieren ...

ich es auch für NULL-Prüfung verwenden.

(!entry.personalization) 

oder versuchen

(entry.personalization != "")