我想檢查所選狀態是否包含輸入中輸入的郵政編碼。檢查選定狀態是否有輸入的郵政編碼jQuery
我不確定我的功能到底在哪裏。
我正在使用的API正在返回正確的信息,但它在某處存在我的錯誤。
<select id="shipping_state">
<option value="">Select a state</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District Of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
</select>
所以我想從輸入獲得的價值,並檢查上面的選中狀態包含郵政編碼,如果它不向用戶顯示錯誤消息,如果它繼續
<input type="text" id="shipping_postcode" name="shipping_postcode" placeholder="ZIP" class="input-text">
這是我與jQuery
function is_int(value) {
if ((parseFloat(value) == parseInt(value)) && !isNaN(value)) {
return true;
} else {
return false;
}
}
// $('#checkout-button').off("click");
$('#checkout-button:contains("Submit")').click(function() {
//console.log("click!");
var state = "";
var postalCode = "";
var zipInputVal = $("#shipping_postcode").val();
var el = $("#shipping_postcode");
var stateCheck = '';
var stateSelect = $('#shipping_state').val();
// Did they type five integers?
if ((el.val().length == 5) && (is_int(el.val()))) {
// Call Ziptastic for information
$.ajax({
url: "https://zip.getziptastic.com/v2/US/" + el.val(),
cache: false,
dataType: "json",
type: "GET",
success: function(result, success) {
console.log(result);
stateCheck = result.state;
},
error: function(result, success) {
alert("Your zip code doesnt match with your state");
}
});
}
else if(stateSelect === stateCheck) {
alert('done');
}
else {
alert('Not correct');
}
});
很確定它不會進入錯誤回調 - 只有當API通過HTTP狀態碼指示錯誤時纔會發生。您需要在成功回調中處理這兩種情況。 – CBroe
它實際上是工作[https://jsfiddle.net/qz2ydr0g/](https://jsfiddle.net/qz2ydr0g/) –
@NidhinChandran它只對輸入的郵政編碼的結果做console.log,但輸入的郵政編碼與所選狀態不匹配。我需要檢查所選擇的狀態是否與輸入的郵政編碼 –