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
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:
3) Auf alert
sollte in Ihrem :
-Handler nicht ein onclick
folgen:
sollte
sein %Vor% Außerdem benötigt alert
nur einen Parameter, also müssen Sie ihn aufteilen:
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%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%Tags und Links javascript jquery switch-statement condition