2014-04-22 23 views
11

Oto rozwijana w pytaniu:Sprawdź, czy wybrano wartość rozwijana jest pusta użyciu jQuery

<select name="data" class="autotime" id="EventStartTimeMin"> 
    <option value=""></option> 
    <option value="00">00</option> 
    <option value="10">10</option> 
    <option value="20">20</option> 
    <option value="30">30</option> 
    <option value="40">40</option> 
    <option value="50">50</option> 
</select> 

Co chcę zrobić, to sprawdzić, czy bieżąca wartość jest pusta:

if ($("EventStartTimeMin").val() === "") { 
    // ... 
} 

Ale to robi nie działa, nawet jeśli wartość jest pusta. Każda pomoc jest doceniana.

Odpowiedz

25

zapomniałeś # na selektor ID:

if ($("#EventStartTimeMin").val() === "") { 
    // ... 
} 
+3

@RoryMcCrossan NET jeśli _EventStartTimeMin_ gdzie kontrola asp.net kod byłoby:. 'If ($ ("# <% = EventStartTimeMin.ClientID%>") val() === "") { //} } ' – Juanito

+2

@Juanito Wiem, ale jak to ma znaczenie dla tego pytania? –

2

Trzeba użyć .change() zdarzenia, jak również za pomocą # kierować elementu przez id:

$('#EventStartTimeMin').change(function() { 
    if($(this).val()===""){ 
     console.log('empty');  
    } 
}); 

Fiddle Demo

+0

Problem z używaniem zmiany polega na tym, że jeśli ostatnie pole wymaga wprowadzania danych z klawiatury, nie ma żadnych zmian, dopóki użytkownik nie kliknie, pozostawiając je oszołomionym. Zamiast tego użyj .on ("change, keyup", function() {}). – WebDude0482

2

Możesz spróbować tego również -

if(!$('#EventStartTimeMin').val()) { 
// do something 
} 
Powiązane problemy