2015-05-13 13 views
5

Sto avendo un form dove i campi devono cambiare secondo il mio select. Tuttavia, quando raggiungo lo reset, il valore select ripristina i valori predefiniti, ma l'evento onchange su select non viene attivato. C'è comunque così da poterlo aggiungere al mio javascript?html form reset non facendo triggering onchange

sto Ripristino tramite un pulsante con type="reset"

$('#newHistoryPart select[name="roundType"]').on('change', function (data) 
    { 
     $(".answerType").hide(); 
     selected = $(this).find("option:selected").val(); 
     roundTypeChange(selected); 
    }); 
+1

Mostra la funzionalità 'reset'. Come stai facendo 'reset'? –

+2

È possibile utilizzare l'evento 'onreset', che è diverso da' onchange'. Questa è la causa. – kosmos

+1

@GuruprasadRao afferma chiaramente che sta usando un pulsante con il ripristino del tipo. –

risposta

5

Quello che dovete fare è, innescare l'evento di modifica manualmente quando il pulsante di ripristino viene cliccato. Vedi Fiddle here

$('select').on('change', function() 
{ 
    alert('on change'); 
}); 

$('input[type="reset"]').click(function() { 
    $("select").trigger('change'); 
});` 
+0

cool che funziona, grazie – Mathias

+0

si c'è comunque per raggiungere l'opposto? Ho un modulo in cui su ogni cambio di selezione filtro una tabella. Ora, quando resetto, devo resettare i selettivi ma questo innesca anche il cambiamento di selezione, quindi mi trovo in un ciclo infinito. Sto usando select2 e l'unico modo che trovo per reimpostare select2 è il seguente: $ (this) .find ("select"). Trigger ("change"); – onlymushu

0

è possibile utilizzare

$('select[name="roundType"]').prop('selectedIndex',0); 

DEMO HERE

3

Dal mio commento di cui sopra, utilizzare onreset evento invece di onchange:

0

Questo può aiutare a sostituire le linee di avviso con il codice attività.

JSFiddle

HTML

<select name="opt" onchange="getval(this)"> 
    <option value="Select" selected disabled>Select</option> 
    <option value="op1">Option 1</option> 
    <option value="op2">Option 2</option> 
</select> 

JavaScript

function getval(sel) { 
    if (sel.value == "op1") { 
     alert("Option 1 Selected"); 
    } else if (sel.value == "op2") { 
     alert("Option 2 Selected"); 
    } 
    else 
    { 
     alert("EXCEPTION !"); 
    } 
}