2011-10-24 17 views
6
<select name="category" id="category"> 
    <option value="">All Category</option> 
    <option value="1">Category 1</option> 
    <option value="2">Category 2</option> 
    <option value="3">Category 3</option> 

</select> 

Cómo elegir la categoría con value = ""jQuery obtener seleccione el valor de la opción de vacío

Condiciones para una correcta:

if($('#category option:selected')){ 
    var category_url = "&category="+$('#category').val(); <!-- True --> 
} 

Condición 2 equivocada:

if($('#category option[value=""]')){ 
    var category_url = "";        <!-- Error --> 
} 

¡Por favor, ayúdenme!

+0

Añade lo que estás tratando de lograr, para que podamos apuntar en la dirección correcta. Por ejemplo, su condición 2 siempre devolverá "verdadero", ya que siempre existirá un valor = "", incluso si ese valor no está seleccionado. – rkw

+0

Esto solía funcionar en versiones anteriores de jquery (1.7.2) si usabas '' '$ (" option [value =] ")' '', pero ahora ya no funciona. –

Respuesta

2

No estoy seguro si entiendo su pregunta correctamente, pero ¿está buscando hacer algo como esto?

if($('#category option:selected')){ 
    var selValue = $('#category').val(); 
    var category_url; 

    if(selValue) 
     category_url = "&category="+$('#category').val(); <!-- True --> 
    else 
     <!-- error --> 
} 
+1

'if ($ ('# category option: selected')) {' will * always * return 'true'. Debes verificar 'longitud'. –

+0

muchas gracias. Tuve éxito con el código: 'var category_url = ''; if ($ ('# category'). val()! = '') {category_url = "& category =" + $ ('# category'). val(); } ' – TuanNguyen

2
if(!$("#category").val()) 
    //selected valule is "" 
+0

muchas gracias. Tuve éxito con el código: 'var category_url = ''; if ($ ('# category'). val()! = '') {category_url = "& category =" + $ ('# category'). val(); } ' – TuanNguyen

2

Esto es un poco viejo, pero que podría ser:

$('#category').find('option:empty') 
0

De hecho, si le dice al navegador para seleccionar nada, lo hace el jox:

$("#category option").attr("selected", false); //Unselect each option 

De manera predeterminada, el navegador seleccionará la primera opción, cualquiera que sea el valor de la opción.

Espero que esto ayude :)

Cuestiones relacionadas