Necesito crear un botón de reset que en clic conjunto de todas las listas de selección en una forma de índice 0. He probado este código para la función, pero da un error de sintaxis en miformulario.longitud;

<script type="text/javascript">function ResetForm(form) {     
var myForm = document.forms[form];   
  for( var i=0; i < myForm.length; i++ ){                                   
myForm.select[i].selectedIndex =0;     }  }

</script>

OriginalEl autor Amna Ahmed | 2012-03-02

5 Comentarios

  1. 17

    No hay tal propiedad como someForm.select, intente esto en su lugar:

    selectTags = myForm.getElementsByTagName("select");
    
    for(var i = 0; i < selectTags.length; i++) {
      selectTags[i].selectedIndex =0;
    }  
    
    selectElement.selectedIndex = 0;

    OriginalEl autor Another Code

  2. 1

    Usted puede encontrar jquery útiles aquí. Esto DEBE hacer el truco…

    $(function()
    {
        $('.resetButton').click(function()
        {
            $(this).closest('form').find('select').each(function()
            {
                $(this)[0].selectedIndex=0;
            });
        });
    });
    

    <input type="reset" class="resetButton" />

    OriginalEl autor teh1

  3. 0

    Este se establece en cada selección directamente después de cambiar a la primera opción:

        <select onchange="your_selection_func(); this.selectedIndex=0;">
    

    OriginalEl autor Guerteltier

  4. 0

    He encontrado algunos hack:

    <select onchange="doSomething()">
      <option value="a" selected disabled hidden>a</option>
      <option value="a">a</option>
      <option value="b">b</option>
      <option value="…">…</option>
    </select>
    

    combinación de selected disabled hidden causas que (visualy) primera opción responde con change evento (incluso con la misma value!).

    De trabajar con el IE, Borde, Opera, Chrome, pero no de trabajo en FF 🙁

    OriginalEl autor iiic

  5. -1

    Me doy cuenta de que esto es un poco viejo, pero quería mejorar teh1 la respuesta. No hay ninguna razón para crear un objeto jQuery de ‘este’ cuando vas a agarrar el elemento DOM en la espalda:

    $(this).closest('form').find('select').each(function() {
        this.selectedIndex = 0;
    });
    

    OriginalEl autor Gregory Kaczmarczyk

Dejar respuesta

Please enter your comment!
Please enter your name here