9 Stimmen

Eigenschaft "defaultValue" für <select>?

Javascript hat textObject.defaultValue=somevalue zum Abrufen des Standardwerts (gespeicherter Wert vom Laden der Seite) einer Eingabe, selbst wenn Sie die Eingabe löschen und den Inhalt ersetzen, können Sie immer noch den Standardwert zurückbekommen. Zum Beispiel so:

// in the html page
<input id="addr1" type="text" value="21 Oak St." />

// the jquery
myInput = $("#addr1"); // the input, default value on page load = 21 Oak St.

$(myInput).val('51 New St'); // wipe default and set new

// alerts 21 Oak St
alert($(myInput).val($(myInput)[0].defaultValue));

Wie erreichen Sie das bei einer Auswahl?

selectedIndex ist boolesch, nicht der Wert, also funktioniert das nicht.

Gracias.

1 Stimmen

Ich glaube nicht, dass selectedIndex ein Boolean ist, sollte es eine ganze Zahl sein, und wie @Pointy sagte, wenn Sie die Optionen iterieren, um den defaultSelected zu erhalten, können Sie den selectedIndex auf den Index des defaultSelected setzen.

0 Stimmen

Sie müssen die Eigenschaft "selected" für die Option selbst verwenden, die Sie als Standard festlegen möchten. fahren Sie auf diesem Weg fort.

0voto

JoDev Punkte 6385

Ich habe einen kürzesten Weg gefunden, dies zu tun:

$('select#myselect').find('option[defaultSelected]');

0voto

Mitch McCoy Punkte 1

Ich führe dies beim Laden der Seite aus, um den Standardwert für Auswahlfelder manuell festzulegen.

// Set a default value property on selectboxes (for reverting)
$('select').each(function(index,ele) {
    var origvalue = $(this).val(),
        defaultvalue = $(this).prop('defaultValue');

    // If the default value hasn't already been set for this selectbox
    if(!defaultvalue) {
        $(this).prop('defaultValue', origvalue);
    }
});

0voto

Franco Punkte 2262

Am einfachsten ist dies zu bewerkstelligen:

$('#selectbox option').prop('selected', function() {
     return this.defaultSelected;
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X