2017-02-19 68 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,因爲郵編的前半部分在數組中。 –