我正在尝试验证一个接受用户zipcodes的表单,并针对所服务的邮政编码数组对其进行测试。我想让它在提交时工作。现在它什么都不做,并没有错误..我很丢失。我是jquery的新手,但不是编程
<DOCTYPE!>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
var zipCodeArray = ["98001", "98002", "98003", "98004"];
$("#zipCode").live('keyup', function(){
var zipCode = $(this).val();
if(zipCode.length >4){
if($.inArray(zipCode, zipCodeArray)){
//do nothing, or do whatever you want
//we have a return true here.
}else{
alert("Sorry. we only offer services western Washington at this time.");
}
}
});
</script>
</head>
<body>
<div class="zipCode">
<form>
<input id="zipCode" name="zipCode" />
<input type="submit" value="Submit">
</form>
</div>
</body>
</html>
答案 0 :(得分:3)
更改此
if($.inArray(zipCode, zipCodeArray)){
到
if($.inArray(zipCode, zipCodeArray) > -1){
$.inArray()
方法返回数组中元素的索引,而不是布尔值 ..
此外,您需要将代码包含在 DOM Ready处理程序中,因为您的脚本位于内容之前
$(function() {
// Your code here
});