Ich habe eine Seite mit mehreren Gruppen von Optionsschaltflächen, die zum Festlegen von Optionen verwendet werden. Wenn man auf bestimmte klickt, werden andere standardmäßig mit Klick-Event-Handlern ausgewählt. Die Funktionalität funktioniert einwandfrei, aber es gibt ein Problem mit dem visuellen Status der Schaltfläche.jQueryUI, Optionsfeldstatus und Klickereignisse
Ich benutze jQueryUI's .buttonset() -Methode, um die Ästhetik zu verbessern, und wenn ich ein .click() Ereignis programmatisch auslösen, ändert die Schaltfläche nicht den Status visuell. Dies kann dazu führen, dass die aktuellen Optionen sich von denen auf dem Bildschirm unterscheiden.
Beispielcode veranschaulichen das Problem:
<fieldset>
<label for="button1">Button 1</label>
<input type="radio" id="button1" name="test" />
<label for="button2">Button 2</label>
<input type="radio" id="button2" name="test" />
</fieldset>
$('fieldset').buttonset();
$('#button2').click(function() {
alert('button 2 clicked');
});
$('#button2').click();
ich auch eine Geige so können Sie es in Aktion sehen einrichten, wenn Sie dies wünschen: http://jsfiddle.net/T5MGh/
Wie man erwarten würde, die Warnung Die Box erscheint beim Laden der Seite wie sie sollte, aber die Schaltfläche ändert sich nicht visuell, wie es durch einen Benutzerklick geschieht.
Irgendwelche Gedanken?
Funktioniert wie ein Charme. Vielen Dank! Das hätte ich ohne Hilfe nicht schnell herausgefunden. – Rookwood
@Rookwood - Willkommen :) –
Als eine Anmerkung für jeden, der dies in der Zukunft liest, scheint es, dass es noch notwendig ist, .click() auf dem Radio-Button, selbst, auch. $ ('[für = knopf_id], #button_id'). Click(); Sonst änderte es sich visuell, aber nicht den tatsächlichen Zustand der Taste, das Gegenteil des ursprünglichen Problems. – Rookwood