He visto otros posts aquí en SO sobre este mismo tema, pero no he encontrado una solución que se ajuste a la selección usando jQuery.

Tengo un desplegable en el que se parece a esto:

<select type="select" id="docsList" name="docsList"> 
    <option id="defaultListItem" value="0">Select a Document...</option> 
    <option value="38">Document 1</option> 
    <option value="35">Document 2</option> 
    <option value="46">Document 3</option> 
    <option value="45">Document 4</option>          
</select>

Necesito para restablecer la lista desplegable dentro de un $.ajax() el éxito función. He utilizado el siguiente:

$('select#docsList option:selected').val('0');
$('select#docsList').attr('selectedIndex', 0);

… y algunos otros.

Estoy empezando a pensar que este código está muy bien y tengo algo más en la prevención de restablecimiento de la lista desplegable.

OriginalEl autor marky | 2011-06-21

5 Comentarios

  1. 14

    Estás complicar las cosas. Usted no necesita jQuery para obtener/establecer un <select>‘s selectedIndex.

    $('#docsList').get(0).selectedIndex = 0;

    Al establecer el valor de un <select>, llamada .val() en el <select>, no en uno de sus <option>s.

    $('#docsList').val('0');
    Todo el trabajo de otros, demasiado, pero felicitaciones a Matt por su explicación y la solución más simple! Gracias a todos!
    Buen post, también debe notarse que selectedIndex es una propiedad.
    gracias. Por qué no debería ser notado? No veo lo que añade. Tal vez usted debería elaborar.
    Causa JQuery/JS le permitirá hacer lo que quieras. Y aunque no se ve muy bien, al ir a probar y utilizar el encargo, puede no ser evidente hasta que probar y depurar. La experiencia Personal de curso.

    OriginalEl autor Matt Ball

  2. 7

    $('#docsList option[value=0]').attr('selected', 'selected');

    Esto establecerá el <option> con el atributo valor se establece en 0 como la opción seleccionada.

    OriginalEl autor Justin Schwartzenberger

  3. 4

    Matt respuesta tiene un pequeño defecto:

    $('#docsList').val('0');

    El código anterior no funciona en IE 9 cuando no esté en Modo de Compatibilidad. El siguiente trabajado cruz de los navegadores para mí:

    document.getElementById('docsList').selectedIndex = 0;

    Gracias por el puntero en la dirección correcta, sin embargo.

    Me sorprendería si esto funciona en cualquier navegador.
    trabaja en IE11, mientras que el aceptado respuesta no

    OriginalEl autor Kate at LittleCollie

  4. 3

    Desea $('select#docsList').val('0'); Ver ejemplo en: http://jsfiddle.net/uE2YN/

    Lo siento , pero esto no funciona… al menos para mí…
    ¿Estás seguro de que el id en el selector coincide con el id de su elemento select? ¿Estás seguro de que el código se ejecuta después de que el DOM esté completamente cargado?
    Hola, Siento no haber podido responder antes. He probado el ejemplo en jsfiddle…. ahora sé por qué – cuando me establezca el valor en 1 (sólo para ver si usted puede seleccionar otros que el primer elemento) yo no agregue el valor 1 para el segundo elemento. En cualquier caso mi trabajo de la muestra es esto: $(‘#mylistname’).prop(‘selectedIndex’, 1);
    no me funciona bien

    OriginalEl autor tvanfosson

  5. -1
    $(".btn-reset").click(function () {
        $('#docsList').val('123er43f-12fr-7hgy-ju78-kju345uy65r3');
        $('#docsList').trigger('chosen:updated');
    });

    OriginalEl autor Yangon Tharr

Dejar respuesta

Please enter your comment!
Please enter your name here