2017-02-19 100 views
0

我需要一个小表格来检查英国邮政编码的前半部分。我在数组中添加了前半部分的邮编。表格检查英国邮政编码的前半部分

表单有一个简单的输入字段并提交按钮。当用户输入邮编的前半部分(例如N1)时,我希望表单检查数组,如果匹配,我希望div在显示邮件时淡入淡出。

<form class="navbar-form navbar-left" role="search" id="searchForm"> 
<div class="form-group"> 
<input type="text" name="s" class="form-control covered-area-search-input" placeholder="Enter the first half of your postcode..."> 
</div> 
<button type="submit" class="btn btn-default" value="Search"><i class="fa fa-paper-plane"></i> Submit</button> 
</form> 

<div id="result"></div> 

的jQuery:

var postcodes = ["N1", "N2", "N3", "N4", "N5", "N6", "N7", "N8", "N9", "N10", "N11", "N12", "N13", "N14", "N15", "N16", "N17", "N18", "N19", "N20", "N21", "N22", "NW1", "NW2", "NW3", "NW4", "NW5", "NW6", "NW7", "NW8", "NW9", "NW10", "NW11", "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8", "E9", "E10", "E11", "E12", "E13", "E14", "E15", "E16", "E17", "E18", "W1", "W2", "W3", "W4", "W5", "W6", "W7", "W8", "W9", "W10", "W11", "W12", "W13", "W14"]; 

$('#search').submit(function(){ 
     var postcode = $('#search input').val(); 
     if($.inArray(postcode.toUpperCase(), postcodes) > -1){ 
      $('#result').html('Yes, we cover your area!'); 
     }else{ 
      $('#result').html('Oops, it looks like we do not cover that area yet.'); 
     } 

     return false; 
    }); 

我尝试了上面的代码,但没有运气。我将如何做到这一点?提前谢谢了。

回答

1

没有ID为'search'的表单;它是'searchForm'。 你能像下面那样更新你的jQuery吗?

$('#searchForm').submit(function(){ 
    var postcode = $('#searchForm input').val(); 
    if($.inArray(postcode.toUpperCase(), postcodes) > -1){ 
     $('#result').html('Yes, we cover your area!'); 
    }else{ 
     $('#result').html('Oops, it looks like we do not cover that area yet.'); 
    } 

    return false; 
}); 
+0

谢谢,解决了这个问题。 :)不知道为什么我使用搜索,而不是searchForm。 – Sami

+0

关于如何将此代码转换为部分匹配的任何建议?例如。如果有人输入E1 4AB,它将仍然返回true,因为邮编的前半部分在数组中。 –

相关问题