2013-03-21 59 views
0

我試圖修復此功能以顯示下拉菜單上的警報。 我錯在哪裏?警報沒有出現。下拉驗證的腳本

JS:

<script type="text/javascript"> 
$(document).ready(function(){ 
$("#submit").click(function() { 
    $("#species").change(function(){ 
    if ($(this).children(":selected").val() == "") { 
    alert("empty"); 
    } 
    }); 
}); 
}); 
</script> 

FORM:

<form> 
<label for="species" id="species">*Species:</label><br /> 
<select id="species" name="species" size="1"> 
<option value="">Please choose a species</option> 
<option value="21">Chicken</option> 
<option value="28">Turkey</option> 
</select> 
<br /> 
<input type="submit" id="submit" value="Validate!" /> 
</form> 

回答

1

你有2個事件和第二次被上的click事件的約束。

也許你想是這樣的:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#submit").click(function() { 
    if ($("#species").children(":selected").val() == "") { 
     alert("empty"); 
    } 
    }); 
}); 
}); 
</script> 
0

幾件事情:1。你有相同的ID爲您標籤爲您其迷惑你的jQuery選擇元素做。

  1. 您將您的點擊事件綁定到selectBox上的更改事件,這不是必需的。

試試這個:

$(document).ready(function(){ 
    $("#submit").click(function (e) { 
     if($('#species').find(":selected").val()===""){ 
     alert("empty"); 
     }  
     e.preventDefault() 
    }); 
}); 

http://jsfiddle.net/6SuvK/