2016-06-23 1 views
0

Ich bin neu bei Jade und habe die Aufgabe, eine Auswahloption in einer Webseite zu erstellen. Alles scheint gut, bis ich ein leeres Optionselement erhalte, das erstellt wird, wenn die Dropdownliste leer ist und die Seite aktualisiert wird. Ich möchte dieses leere Optionselement irgendwie entfernen. Ich habe die meisten Beiträge hier gelesen, aber anscheinend keine Hilfe bekommen. Unten ist meine Jade-Logik.if/else-Anweisung zum Entfernen einer Auswahloption in Jade Template

Jade:

#remarksField 
    h1#remarksHeader Remarks 
    select#shortDesc 
     option(value= "")= "---" 
     each index in data 
     if (index) 
      option(value= index.id)= index.short_desc 
     // else 

Sie wissen nicht, wie man eine Fiddle zu schreiben, weil es Teil eines großen-Code, aber ich hoffe, dass mir jemand bekommt hier zu helfen.

How it looks when trying to select an option

Antwort

1

Die zusätzliche Einrückung nach dem ersten Tag option bewirkt, dass sich alle folgenden Optionen innerhalb des ersten Tags befinden. Entfernen Sie, dass zusätzliche Vertiefung und es sollte alle Arbeiten:

#remarksField 
h1#remarksHeader Remarks 
select#shortDesc 
    option(value= "")= "---" 
    each index in data 
    if (index) 
    option(value= index.id)= index.short_desc 
    // else 
+0

Ich habe das schon versucht aber nicht funktioniert. Ich denke, ein leeres Objekt ohne Wert wird im Index gespeichert, was die if-Anweisung auf true setzt und damit die leere Option erzeugt. Nun, was ich tun muss, ist zu beweisen, ob der Index nicht leer ist oder keinen Fehler hat. Wenn dies der Fall ist, sollte es kein Optionselement geben. Das wird mühsam, weil ich dies über Jade mache. – Pappy

+1

Anstatt zu überprüfen, ob 'index' existiert, überprüfe, ob' index.id' existiert. Nicht viel mehr kann ich tun, um ohne weitere Informationen zu helfen. Bitte markieren Sie die Antwort richtig, um die Frage zu schließen – jhhayashi

+0

Es funktionierte durch den Beweis, ob index.id @jhhayashi existiert – Pappy

0

die Klammern entfernen um "Index" auf Ihrer if-Anweisung.

So sollte es so aussehen:

if index

Sie können hier mehr über if-Anweisungen erfahren - http://jade-lang.com/reference/conditionals/

+0

Gemäß der Dokumentation, „es ist immer noch regelmäßig JavaScript“, so die Klammern einen Booleschen Ausdruck umgeben, sind fein – jhhayashi

+0

Ahh ok, meinetwegen. –

0

hinzufügen Platzhalter

option(value="1" placeholder="Select") 

Es würde es vermeiden, bekommen leer beim Aktualisieren.

Verwandte Themen