switch-Anweisung in Jquery und List

8

Ich würde gerne wissen, ob meine Vorgehensweise effizient und korrekt ist. Mein Code funktioniert jedoch nicht, ich weiß nicht warum.

%Vor%     
Pennf0lio 16.09.2009, 19:30
quelle

4 Antworten

26

Ihr Code funktioniert nicht, da die Variablen auf die Funktion HotelQuery beschränkt sind. Ich denke, was Sie tun möchten, ist ein Objekt mit Eigenschaften aus der Funktion zurückzugeben, und verwenden Sie auch die unaufdringliche JavaScript-Ansatz, um einen Click-Ereignishandler an das <a> -Element zu binden.

Etwas wie

%Vor%

Ich habe gerade bemerkt, dass Sie jedes Mal die gleichen Werte außer dem Hotelnamen und der Beschreibung ausgeben (Sie haben das vielleicht nur als Beispiel getan, ich bin mir nicht sicher) . Sie könnten einfach allen Variablen ihren Wert bei der Deklaration zuweisen (oder die Werte als Eigenschaften des zurückgegebenen Objekts zuweisen), außer dem Hotelnamen und der Beschreibung, die Sie aus dem Wert des Arguments für den Parameter HotelName zuweisen könnten. Etwas wie

%Vor%     
Russ Cam 16.09.2009, 19:46
quelle
8

Mehrere Probleme.

1) Die Funktion muss nicht innerhalb von $(document).ready liegen, loswerden.

2) Auf jede case-Anweisung sollte eine break folgen, nicht eine einzige ; . Zum Beispiel:

%Vor%

3) Auf alert sollte in Ihrem : -Handler nicht ein onclick folgen:

%Vor%

sollte

sein %Vor%

Außerdem benötigt alert nur einen Parameter, also müssen Sie ihn aufteilen:

%Vor%

3) Sie nehmen an, dass strHotelName , strHotelDesc und strHotelPrice im globalen Gültigkeitsbereich liegen, was sie nicht sind.

Insgesamt möchten Sie vielleicht so etwas ausprobieren:

%Vor%     
Justin Johnson 16.09.2009 20:02
quelle
2
%Vor%

Platzieren Sie / n in der Seite Ihrer Zeichenfolge in einer Warnmeldung, damit Sie mehrere Variablen mit raffinierten Zeilenumbrüchen in einer Warnmeldung anzeigen können.

%Vor%     
kris_G 13.12.2012 16:31
quelle
0

Es gibt ein paar Änderungen, die ich machen würde.

Ziehen Sie die Funktion HotelQuery aus der Funktion ready heraus.

Zweitens werden all diese Variablen zu dem Zeitpunkt, an dem Sie den Alarmruf tätigen, nicht mehr im Geltungsbereich sein. Wenn Sie möchten, dass sie im Geltungsbereich sind, deklarieren Sie sie global (außerhalb Ihrer Funktion) und setzen Sie sie innerhalb der Funktion.

%Vor%     
Andy Gaskell 16.09.2009 19:47
quelle