jquery - hacer - plantillas para poster en power point
Agregue una opción en blanco a la parte superior de seleccionar y conviértala en la opción seleccionada en IE (3)
Cámbielo a esto, y funcionará:
$("#theSelectId").prepend("<option value=''''></option>").val('''');
Parece que IE solo evalúa el atributo selected
cuando encuentra la select
.
HTML:
<select id="dropdown">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
jQuery:
$("#dropdown").prepend("<option value='''' selected=''selected''></option>");
Cuando ejecuto esto en Firefox o Chrome, el menú desplegable tiene seleccionada la opción en blanco recién insertada. Cuando lo ejecuto en IE8, todavía tiene Volvo seleccionado. ¿Algunas ideas?
Tratar:
$("#dropdown").prepend(new Option('''', '''', true, true));
$("#dropdown option:first").attr("selected", "selected");
O, si lo prefiere:
$("#dropdown").prepend("<option value=''''></option>");
$("#dropdown option:first").attr("selected", "selected");
Usar la primera opción es marginalmente más rápido. Las citas en blanco significan valor en blanco y texto en blanco, así que llénelas como lo necesite. No necesita el atributo seleccionado en el precedente ahora lo estamos agregando después. Tiene algo que ver con que Internet Explorer no reconozca que está marcado como seleccionado, ya que se acaba de crear.
No estoy seguro de por qué su código no funciona (quizás tiene algo que ver con el hecho de que en IE, selectedIndex
es de solo lectura), pero al hacerlo funciona en IE:
$("#dropdown").prepend("<option value='''' selected=''selected''></option>");
$("#dropdown")[0].options[0].selected = true;