2012-04-05 20 views
5

tengo el siguiente códigojQuery valor de cambio de lista de selección

<select id="practice_id" name="practice" column="practice" style="width: 200px"> 
<option value="">Default</option> 
<option value="1">Test 1</option> 
<option value="2">Test 2</option> 
<option value="3">Test 3</option> 
............... 
</select> 

Lo que tengo que hacer, es cambiar el valor del elemento seleccionado a una basada en un número de cadena de consulta (puedo obtener este valor ok)

Estoy tratando de cambiar el valor usando jQuery, pero parece que nada de lo que he probado parece funcionar.

$('#practice_id').val('QUERY_STRING_NUMBER'); 

Esto no parece funcionar ya que el valor no cambia.

¿Me sale algo mal aquí?

Gracias

+0

probablemente le puede quitar la opción seleccionada en ese momento y reemplazarlo con un

+0

@ DG3 O simplemente [cambie el valor] (http://stackoverflow.com/questions/10032142/jquery-change-value-of-select-list/10032258#answer-10032258) :-) – PeeHaa

Respuesta

8

Es necesario seleccionar el elemento option y no el elemento select:

(function($) { 
    $('#practice_id').change(function() { 
     var val = $(this).val(); 
     alert(val); 
     $('option[value=' + val + ']', this).val('changed'); 
    }); 
})(jQuery); 

http://jsfiddle.net/PeeHaa/6yre7/

0

$('#practice_id').val('QUERY_STRING_NUMBER');

Esto está fijando el valor de la lista desplegable, no "cambiar" el valor de opción de subrayado.

$(document).ready(function() { $("#practice_id").children().val("-99"); });

Esto cambiará el valor a -99 en todas las etiquetas de opción.

http://jsfiddle.net/MejLX/1/

Nota: Sí, puede hacerlo a través de jQuery. Sin embargo, según la mayoría de los escenarios comunes de todos los días, creo que su script/página del lado del servidor estaría generando el valor correcto.

+0

¿Hay alguna manera de cambiar el valor de la opción? –

+0

Perdón por las actualizaciones ya que algo extraño estaba pasando con la edición. –

Cuestiones relacionadas