2011-10-24 10 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> 

Come scegliere la categoria con value = ""jQuery ottenere selezionare il valore dell'opzione vuoto

Condizioni per una corretta:

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

Condizione 2 sbagliato:

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

Per favore aiutatemi !!!

+0

Aggiungi quello che stai cercando di ottenere, così possiamo indicarti la direzione giusta. Ad esempio, la tua condizione 2 restituirà sempre "true", poiché esisterà sempre un valore = "", anche se quel valore non è selezionato. – rkw

+0

Questo funzionava con le vecchie versioni di jquery (1.7.2) se si utilizzava '' '$ (" option [value =] ")' '', ma ora non lo è più. –

risposta

2

Non sono sicuro di aver compreso correttamente la tua domanda, ma stai cercando di fare qualcosa del genere?

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'. Devi controllare 'length'. –

+0

grazie mille. Ho avuto successo con il codice: 'var category_url = ''; if ($ ('# category'). val()! = '') {category_url = "& category =" + $ ('# category'). val(); } ' – TuanNguyen

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

grazie mille. Ho avuto successo con il codice: 'var category_url = ''; if ($ ('# category'). val()! = '') {category_url = "& category =" + $ ('# category'). val(); } ' – TuanNguyen

2

Questo è un po 'vecchio, ma si poteva fare:

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

Infatti, se dite il browser per selezionare nulla, lo fa il Jox:

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

Per impostazione predefinita, il browser Seleziona mostrerà la prima opzione, qualunque sia il valore dell'opzione.

Spero che questo aiuti :)

Problemi correlati