2010-12-02 12 views
6
<select name="history" id="history" > 
<option value="history 1" onClick="alert('h1');">history 1</option> 
<option value="history 2" onClick="alert('h2');">history 2</option> 
<option value="clearhistory" onClick="this.form.submit();" >Clear History</option> 
</select> 

podría alguien ayudarme con este script? Estoy esperando que cada vez que el usuario hace clic en la historia 1 ..es alertará h1 el guión funciona en Firefox y IE pero no en Chrome :(javascript onclick alerta no funciona en cromo

Respuesta

10

uso onchange en lugar de onclick de listas de selección.

<select name="history" id="history" onchange="historyChanged(this);"> 
<option value="history1">history 1</option> 
<option value="history2">history 2</option> 
<option value="clearhistory">Clear History</option> 
</select> 

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script type="text/javascript"> 

function historyChanged() { 
    var historySelectList = $('select#history'); 
    var selectedValue = $('option:selected', historySelectList).val(); 

    alert(selectedValue); 

    if (selectedValue == 'clearHistory') { 
     historySelectList.form.submit(); 
    } 
} 

$(function() { 
    alert('my alert'); 
    $('select#history').change(historyChanged); 
}); 

</script> 
7

uso onChange en el selecto lugar de cada opción. aquí es la jsFiddle http://jsfiddle.net/tBjkg/

<select name="history" id="history" onChange="alert(this.value);"> 
<option value="history1">history 1</option> 
<option value="history2">history 2</option> 
<option value="clearhistory">Clear History</option> 
</select> 

la alerta (this.value) se refiere al valor de la opción dentro del selecto que se encuentra actualmente sele cted.

12

Si desea utilizar onClick para el elemento de opción en Chrome, IE, etc, debe utilizar solución a corto: set onChange atributo del elemento select a "this.options[this.selectedIndex].onclick()"

+2

excelente solución ..! – user525146

+1

¡Impresionante! ¡Esto me había estado comiendo la cabeza por horas! ¡Muchas gracias! –

0

En algunos navegadores,

la elección misma opción segunda vez,

no se lanza en caso de cambio.

Esto ayuda:

<select onchange="alert/*orwhateveryoudowith:*/(this.value);/*but set:*/this.selectedIndex=0"> 
<option disabled selected>Choose your Plan</option> 
<option value=1>Plan 1</option> 
<option value=2>Plan 2</option> 
<option value=3>Plan 3</option> 
</select> 
Cuestiones relacionadas