Dynamische javascript-dropdown auswählen

Dieser war interessant. In einer select-dropdown-versuchen, Sie nicht zu verwenden, jQuery (mit Ausnahme der Lockerung, einige meiner Schmerzen auf Erholung), ich lief in ein Problem, das nicht richtig lassen allen aktuellen Browsern fangen Sie die richtige option ausgewählt. Hier ist mein code für die Seite ein, stellt das Problem (denken Sie daran, kein jQuery unbedingt lösen Problem, aber mehr oder weniger nur um mir zu sagen, was ich falsch mache.

Dieser hat mich ratlos.

    <html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>

<div id="select-holder" />
<input id="some-button" type="button">

<script type="text/javascript">

$("#some-button").click(function(){

    var select_element = document.createElement('select');
    select_element.setAttribute("id", "some-id");
    select_element.setAttribute("name", "some-name");

    var options = new Array();
    for ( var i = 0; i < 3; i++ ){
        options.push(new Option("Option " + i, "Value" + i, false, false));
    }
    options[1].setAttribute("selected", "selected");

    for ( var option in options ){
        select_element.appendChild(options[option]);
    }

    $("#select-holder").append(select_element);
});

</script>
</body>
</html>

Den html dieser erstellt ist:

    <select id="some-id" name="some-name">
    <option value="Value0">Option 0</option>
    <option value="Value1" selected="selected">Option 1</option>
    <option value="Value2">Option 2</option>
</select>

Aber die Anomalie ist hier, dass (im firefox zumindest), wird die ausgewählte option endet als Option ist 0, was nicht der gewählte DOM-element. Im IE6, diese select-dropdown funktioniert überhaupt nicht.

Es ist eine Alternative Methode, die funktioniert, die umfasst piecing die Optionen manuell, das funktioniert in allen Browsern, die ich getestet habe.

InformationsquelleAutor Jeff Ancel | 2010-09-22

Schreibe einen Kommentar