2010-12-22 2 views
0

Ich habe eine andere jQuery Frage. Für ein Benutzersteuerelement mit vielen Datenbankaktivitäten möchte ich jQuery verwenden, um die ausgewählten Werte aller Dropdown-Elemente auf ihren "aktuellen" Wert zu setzen. Ich möchte dies tun, damit die Seite scheinbar den Datenbankaufruf beendet hat.jQuery - Setzen Sie den ausgewählten Wert aller Dropdown-Menüs auf Seite

Meine jQuery-Fähigkeit ist nicht die beste, aber ich glaube, ich muss die pageLoad() verwenden. Und da jeder Drop-Down innerhalb einer Benutzersteuerung ist, kann ich für die Dropdown-Listen suchen, die mit „usrControl“

$('select[id ^="usrControl"'].each(function(){ 
    var selectedValue = $(this).val() 
    $(this).val(selectedValue) 
}); 

So etwas ist, was ich im Sinne habe.

Dank

+1

Die oben hätte keine Auswirkung haben, da sie den Wert auf das, was gesetzt würde es ohnehin schon ist ... können Sie ein bisschen genauer sein, was Sie versuchen um es zu setzen? –

+0

Ich habe eine Eltern-> Kind-Beziehung zwischen Dropdowns. Wenn sich 'a' ändert, wird ein Datenbankaufruf ausgeführt, um 'b' zu erstellen. Während dieser Zeit tritt das Postback auf und ich möchte den ausgewählten Wert aller Dropdown-Felder auf der Seite auf ihre vorherige Auswahl setzen, wenn sie noch verfügbar ist, um den störenden AJAX-Postback-Effekt auf der Benutzeroberfläche zu vermeiden. Ich hoffe, das ist klar, ich sehe die einzige Möglichkeit, dies zu tun, indem ich die aktuelle Auswahl aller Dropdown-Menüs auf der Seite auf ihren vorherigen Wert setze, wenn sich die Seite ändert. – Tgibson

Antwort

0

Ich denke, ein Ansatz, um die Standardwerte des Schiebereglers auf Seite Last zu sparen wäre. Um dies zu erreichen können Sie die Daten an die Steuerung mit dem aktuellen Wert wie hinzufügen:

$(selector).each(function() { 
    $(this).data('default_val', $(this).val()); 
}); 

Und nachdem die Datenbank aktualisiert wird, können Sie ‚Reset‘ die Werte.

$(selector).each(function() { 
    $(this).val($(this).data('default_val')); 
}); 

Sie sollten den Selektor mit dem rechten Wahlschalter ändern. :)

Vielleicht ist es auch eine Idee, den Benutzer über ein erfolgreiches Update zu informieren. anderenfalls nur die Auswahlen wieder auflegen. Weil ich denke, dass es Benutzern möglich sein kann, Standardwerte zu übermitteln?

Schauen Sie sich dieses einfache Beispiel @ jsFiddle: http://jsfiddle.net/Lw7m8/

+0

Es sollte den ausgewählten Wert enthalten. Warte, ich richte ein jsFiddle ein. – PeeHaa

+0

Es tut, ok, ich werde diesen Ansatz versuchen. Nochmals vielen Dank, ich schätze es – Tgibson

+0

Hinzugefügt ein Arbeitsbeispiel @ jsFiddle. Bearbeitete meine Antwort. Folgen Sie dem Link, um es zu überprüfen. – PeeHaa

Verwandte Themen