2011-01-24 12 views
19

tengo muchas opciones en mi lista desplegable como:establecer el valor predeterminado en la lista desplegable con jQuery

<option value="1">it's me</option> 

necesito seleccionar la opción que tienen valor soy yo dentro de la etiqueta, no por atributos como 1.

¿Cómo puedo hacer esto usando jQuery?

+0

Bueno, yo quiero para seleccionarlos a través de la 'It'sMe' valor. pero muy pocos de nosotros tratamos de hacerlo. ¡Pero gracias a todos! –

+0

$ ("# opción myCombobox [text = 'it \' s me ']"). Attr ("selected", "selected"); –

+0

http://stackoverflow.com/questions/292615/how-can-i-set-the-value-of-a-dropdownlist-using-jquery Prueba con esto .. – Clyde

Respuesta

59

si su deseo de usar jQuery para esto, tratar el siguiente código.

$('select option[value="1"]').attr("selected",true); 

Actualizado:

Después de un comentario de Vivek, pone de manifiesto acertadamente Steven Spielberg quería para seleccionar la opción a través de su valor de texto.

A continuación se muestra el código actualizado.

$('select option:contains("it\'s me")').prop('selected',true); 

Es necesario utilizar el selector :contains(text) encontrar a través del texto que contiene.

También jQuery prop ofrece una mejor compatibilidad con Internet Explorer al obtener y establecer atributos.

A working example on JSFiddle

+1

selected = "selected" también es válido, y es lo que se sugiere en [W3Schools] (http://www.w3schools.com/TAGS/tag_option.asp). +1 – jmort253

+5

'$ ('seleccionar'). Val ('algo')' todo lo que se requiere. – karim79

+2

@ halfcube-según la pregunta steven spielberg quiere seleccionar aquellas opciones cuyo texto es 'soy yo' no valor – Vivek

0

Esto está trabajando muy bien:

$('#country').val($("#country option:contains('It\'s Me')").val()); 
+0

Will no el uso de Las comillas dobles dentro de las comillas dobles crean problemas? – jmort253

0

Una línea de jQuery lo hace todo!

$("#myCombobox option[text='it\'s me']").attr("selected","selected"); 
+0

¿No tendrá problemas con las comillas entre comillas? ¿Cómo sabrá JQuery qué sucede si no se han escapado las comillas dobles internas? Quizás me estoy perdiendo algo aquí? – jmort253

+0

@ jmort253: si es coherente, puede mezclar comillas simples y dobles siempre que use una para marcar la cadena externa y la otra para usar internamente en la cadena. P.ej. "Esto es válido '' ':)" y "Esto no es válido" "" :(". –

4

val() debe manejar ambos casos

<option value="1">it's me</option>  


$('select').val('1'); // selects "it's me" 

$('select').val("it's me"); // also selects "it's me" 
+3

Esta respuesta se ha copiado de http://stackoverflow.com/questions/496052/jquery-setting-the-selected-value- of-a-select-control-via-its-text-description y no responde lo que Steven está preguntando –

+0

Mark, $ ('select'). val ('Two'); resolverá el problema ... qué más Steven ¿ha preguntado? –

+0

¿No estoy seguro de que pueda pensar en una situación en la que quiera establecer todas las selecciones a un valor en particular? :-) Excepto '0', tal vez ... – Hogsmill

1
jQuery("select#cboDays option[value='Wednesday']").attr("selected", "selected"); 
22

Usted puede simplemente hacer esto:

$('#myCombobox').val(1) 
2
$("#dropdownList option[text='it\'s me']").attr("selected","selected"); 
+0

La única comilla en * soy yo * necesita escaparse. –

+0

gracias por señalar esto. – Vivek

0
$('#userZipFiles option').prop('selected', function() { 
     return this.defaultSelected; 
    });  
+0

Esta es la forma más simple de obtener las opciones predeterminadas de una selectbox – Franco

Cuestiones relacionadas