我正在尝试编写一个使用邮政编码数组作为服务区域的报价估算器。邮政编码的列表相当广泛,因此我不知道使用外部源(如CSV)是否更好或根本不是一种选择。
我想让人们输入他们的邮政编码,如果它在列表上,他们将得到价格计算器选项。
如果他们的邮政编码不在列表中,则会出现"Please Call for More Info"的消息
我现在有点像弗兰肯斯坦的代码,但这是我的:
$(function(){
var zipCodes = ['92056', '90210', '92121', '92101','19148'];
$('#id_div_one, #id_div_two').hide();
if(jQuery.inArray(zipCodes) > -1) {
$('#id_div_one').css('display', 'inline');
} else {
$('#id_div_two').css('display', 'inline');
}
return false;
});
然后这是div:
<form id="zip_form">
Zip Code: <input type="text" name="zipcode" id="id_zip_code"><input type="submit"
value="Submit">
</form>
<div id="id_div_one">[CP_CALCULATED_FIELDS id="6"]</div>
<div id="id_div_two">Please call our office for a quote</div>
我有它的工作在哪里提交是触发价格计算插件的显示,但我不明白如何与if/else工作从数组拉。任何帮助都是非常感激的——我一直在网上搜索,没有多少运气。
$.inArray()
要求至少有2个参数- 1)查找的值,2)查找的数组。文档
在您的情况下,您只传递值(根据inArray
的签名的第一个参数),您需要的是:
if(jQuery.inArray($('#id_zip_code').val(), zipCodes) > -1) {
...
}
Try
$(function(){
var zipCodes = ['92056', '90210', '92121', '92101','19148'];
$('#id_div_one, #id_div_two').hide();
$('#zip_form').submit(function(){
$('#id_div_one, #id_div_two').hide();
if(jQuery.inArray($('#id_zip_code').val(), zipCodes) > -1) {
$('#id_div_one').css('display', 'inline');
} else {
$('#id_div_two').css('display', 'inline');
}
return false;
});
});
演示:小提琴