OnChange-event einer combobox wählen Sie nie Brände in jQuery
Ich habe folgenden code, wo ich versuche zu erstellen, die auf change-Ereignis-handler für eine select combobox in jQuery, aber ich habe nie finden Sie in der alert-Nachricht. Was ist hier falsch?
$(document).ready(function () {
var combo = $("#Supplier_Sel").combobox();
$($('.ui-combobox-input')[3]).css('width', '300px');
$("#toggle").click(function () {
$("#Supplier_Sel").toggle();
});
//this change event never gets fired. WHY??
$("#Supplier_Sel").change("dssd",function () {
alert('Handler for .change() called.');
});
});
Außerdem habe ich die enthalten die folgenden scripts in meine Seite. Vielleicht muss ich hinzufügen, einige andere Skript für die combobox onchange-Ereignis?
<script type="text/javascript" src="../jquery/jquery-1.7.2.js"></script>
<script type="text/javascript" src="../jquery/ui/jquery-ui-1.8.21.custom.js"></script>
<script type="text/javascript" src="../jquery/jquery.scrollIntoView.min.js"></script>
Mmmm.... Warum
Denn die Veränderung Signatur der Methode in der intellisense sagt ändern( data, fn)
Ja, aber was ist der Zweck?
dssd
? Auch $($('.ui-combobox-input')[3])
???Denn die Veränderung Signatur der Methode in der intellisense sagt ändern( data, fn)
Ja, aber was ist der Zweck?
InformationsquelleAutor Sunil | 2012-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese wird jedermann überraschen. Aber für mich ist es scheint wie rocket science. LOL.
Zum auslösen des change-Ereignisses jQuery combobox, sollten Sie immer verwenden Sie den code wie unten. All die verschiedenen genannten Ansätze in diesem Beitrag wird es nicht tun. Wir müssen wireup der Veranstaltung, während wir den Aufruf der combobox Methode in jQuery für das select-element. Auch das change-Ereignis wird nie ausgelöst, aber ausgewählten Ereignis angezeigt wird immer ausgelöst, wenn angeschlossen in der oben genannten Art und Weise.
Dem obigen Ansatz macht Sinn, wenn man sich die combobox-widget-jQuery-code. Dies ist unten dargestellt.
Ich bin froh, dass mein Tipp bekam Sie hier.
Du hast Recht.
change
Ereignis wird nie ausgelöst! Aber wenn es so ist, die kürzeste Lösung zu ersetzenchange
zuselect
. Es funktioniert!Sie haben mein Leben gerettet champ 🙂
InformationsquelleAutor Sunil
Ich weiß nicht, was
.combobox()
- Methode funktioniert, aber ich vermute, es dauert eine tatsächliche combobox und ein paar HTML-Tricks. So ist es wohl nicht wirklich ein drop-down-nicht mehr und nicht die onChange-Methode zur Verfügung.Wenn Sie mit einem link auf die Bibliothek hat die
.combobox()
Methode, könnte jemand überprüfen, aber ich bin ziemlich sicher, dass es geht um einige spannen und text-input-Elemente (wie das jQuery-UI-version). Diese haben nicht die Methode ändern.Gut, sicher. Das ist es, was ich versuchte, um SIE zu tun. 😉 Lehren einen Mann zu Fischen und all das...! Froh, dass Sie die Lösung gefunden.
Sie waren teilweise richtig, aber dennoch ist das, was ich suchte, war, wie hook up der Veranstaltung für die Auswahl geändert.
Sie versuchten herauszufinden, warum
.change()
hat nicht arbeiten; ich der Grund, warum, geführt, die Sie für sich selbst entdecken, dass es eine andere Methode, die Sie verwenden müssen. So sind Sie richtig, ich habe nicht die komplette Antwort zusammen mit funktionierenden code. Die passt mir perfekt, und Sie immer noch habe es funktioniert! Konnte nicht Fragen, für ein besseres Ergebnis, als das. 😉Danke für den Hinweis mich in die richtige Richtung.
InformationsquelleAutor Greg Pettit
code unten ist für mich arbeiten. Getestet.
wenn die einfache combo box auswählen, dann "change" - Ereignis auslösen, mit dem code unten;
wenn Jquery basiert, wählen Sie "combo dann" change " - Ereignis auslöst, mit dem code unten;
InformationsquelleAutor Muru Bakthavachalam
Dieser arbeitete für mich:
Murugesan Bakthavachal , schrieb auch die Lösung (für mich), aber ich denke, dass der andere code nicht funktioniert, weil
$.widget( "ui.combobox" , {...});
code bereits eine definition von change-Ereignis folgende code nicht funktioniert:InformationsquelleAutor Sérgio
entfernen
"dssd"
tut
#Supplier_Sel
existieren zum Zeitpunkt der document-ready-event feuert? Benötigen Sie.on()
oder.delegate()
wenn es im Nachhinein generiert - es sei denn, Sie legen den handler in einem callback.Ich befestige die Veranstaltung nach dem Dokument.bereit passiert, wenn man sich meine original-code in Frage. Es existiert, wie ich überprüft, bevor der Ereignis-code.
InformationsquelleAutor ahren
Hast du versucht die beiden Optionen ?
Überprüfen Sie Ihre html -, dass Sie die gültigen
Supplier_Sel
ID, ich meine die Rechtschreibung ,die KapitalisierungJa, beides ausprobiert. Die id korrekt ist. <td><SELECT NAME="Supplier_Sel" id="Supplier_Sel" > <option value=" " selected="selected">Treffen Sie eine Auswahl</option> <option value="mult">Mehrere Lieferanten</option> <option value="ABC ">ABC </option>
Die einzige andere option, die Sie haben, wickeln Sie den code im Dokument.ready() und Sie haben das getan..check für alle anderen Skript-Fehler mit firebug
InformationsquelleAutor coolguy
Versuchen:
Live
abgeschrieben finden Sie unter blog.jquery.com/2011/11/08/building-a-slimmer-jqueryInformationsquelleAutor Shree
Hier ist ein weiterer Weg, um das Ereignis auszulösen aus einem jquery combobox.
Jemand anderes gepostet:
Wie trigger ändern in jqueryui combobox nach der zugrunde liegenden wählen Sie manuell geändert wird?
InformationsquelleAutor Jason Foglia