2011-07-15 23 views
13

soy capaz de mantener a seleccionar el primer y el último valor de un cuadro de selección

$("#selbox").val($("#sel_selbox option:last").val()); 

$("#selbox").val($("#selbox option:last").val()); 

Cómo ¿Puedo seguir seleccionando el segundo valor?

$("#selbox").val($("#selbox option:second").val()); 

THis is giving error. ¿Hay alguna opción para seguir seleccionando dando índice?

+4

'$ ('# opción de selbox: eq (1)')' http://jqapi.com/#p=eq-selector – sod

+0

@sod yu debería haber publicado esta respuesta hombre. Gracias Sod de Zod .. :-) – zod

+0

Es por eso que pido a Meta, los buenos comentarios también deberían incluirse en algún lugar http://meta.stackexchange.com/questions/97052/is-our-great-comments-count-somewhere-in -so-in-our-profile y la gente no dio ninguna gran respuesta !! :-( – zod

Respuesta

38

Sí, desea el selector especial jQuery eq().

$("#selbox").val($("#selbox option:eq(1)").val()); 
0

Otra forma de escribirlo.

$("#selbox").val($("#selbox option").eq(1).val()); 
12

La forma de selección de hacerlo es :eq(), as already suggested.

Sin embargo, este no es el mejor método. Como eq es una extensión jQuery específica no estándar, toda la consulta debe ser analizada por el motor selector de jQuery. Ninguna de las selecciones es manejada por las capacidades de selección nativa del navegador. Esto significa que la selección será mucho más lenta.

Si hace una selección simple y luego la corta con métodos jQuery, obtendrá un rendimiento mucho mejor, porque la función de selección nativa del navegador (llamada querySelectorAll) manejará todo lo que pueda, lo que proporcionará un gran impulso de velocidad .

$('#selbox option').eq(1).val(); 
$('#selbox option').last().val(); 
$('#selbox option').first().val();  // same as .eq(0).val(); 

Ver:

0

o como esto:

$('#selbox').find('option').eq(1).val(); 
+0

Esto no funcionó para mí. – ChickenFeet

0

Necesitaba ocultar todas las primeras 2 opciones y solo la utilicé.

$("#DDLId").find('option:not(:first)').not(":first").map(function() 
{ 
    return $(this).parent('span').length == 0 ? this : null; 
}).wrap('<span>').hide(); 

NB Se utiliza el "ocultar con un palmo" truco en lugar de utilizar simplemente ocultar() como IE no ocultará opciones directamente.

usa .unwrap().show() para volver a mostrar las opciones ocultas.

Cuestiones relacionadas