2016-08-09 48 views
0

, also habe ich seit Tagen eine Lösung für dieses Problem gesucht, aber ich kann nicht scheinen, es zu finden.Javascript erkennt nur meine if-Anweisung

Der Code funktioniert im Prinzip, indem der aktuelle Tag (zB: tueday) über moment.js abgerufen, dann in eine Zeichenkette umgewandelt und dann an die if else Anweisung übergeben wird.

Aber wenn Sie den Code ausführen, ist das einzige, was immer erscheint Tag 68, egal was der Tag ist. unten ist der Code selbst.

var dayN = moment().format('dddd'); 
var dayC = JSON.stringify(dayN); 
document.write(dayC); 

function getSched() { 
    if (dayC = "Monday") { 
     document.getElementById('here').innerHTML = 'Day 68'; 
    } else if (dayC = "Tuesday") { 
     document.getElementById('here').innerHTML = 'Day 2'; 
    } else if (dayC = "Wednesday") { 
     document.getElementById('here').innerHTML = 'Day 3'; 
    } else if (dayC = "Thursday") { 
     document.getElementById('here').innerHTML = 'Day 4'; 
    } else if (dayC = "Friday") { 
     document.getElementById('here').innerHTML = 'Day 5'; 
    } else if (dayC = "Saturday") { 
     document.getElementById('here').innerHTML = 'Day 6'; 
    } else if (dayC = "Sunday") { 
     document.getElementById('here').innerHTML = 'Day 7'; 
    } else { 
     document.getElementById('here').innerHTML = 'GG WP'; 
    } 
} 
+6

'=' führt eine Zuweisung durch und gibt den zugewiesenen Wert zurück. Sie wollen '===' (oder '==') zum Vergleich. – nnnnnn

+1

Auch brauchen Sie nicht JSON.stringify .. –

Antwort

0

ich korrigieren Sie den Code mit einigen Verbesserungen:

die Verwendung eines ‚Schalter‘ den Code klären kann.

function getSched(dayC) { // declaration of the function 
    var val=''; 
    switch(dayC){ 
     case "Monday": 
       val ='Day 68'; 
       break; 
     case "Tuesday": 
       val ='Day 2'; 
       break; 
     case "Wednesday": 
       val ='Day 3'; 
       break; 
     case "Thursday": 
       val ='Day 4'; 
       break; 
     case "Friday": 
       val ='Day 5'; 
       break; 
     case "Saturday": 
       val ='Day 6'; 
       break; 
     case "Sunday": 
       val ='Day 7'; 
       break; 
     default: 
       val ='GG WP'; 
       break; 
    } 

    return val; 
} 


var dayN = moment().format('dddd'); 
var dayC = JSON.stringify(dayN); 
document.getElementById('here').innerHTML = getSched(dayC); 

versuchen document.getElementById() statt document.write es zu benutzen, nicht zu empfehlen ist.

4

Sie müssen doppelte Gleichheitszeichen verwenden (==), sonst sind Sie truthy Aufgaben zu tun.

+0

das hat es Ihnen für die Antwort danken: D – VadR