我正在尝试编写一个价格报价估算器,它使用一系列邮政编码作为服务区域。邮政编码列表相当广泛,所以我不知道它是否更好或者是一个选项来拥有外部源,例如CSV。
我希望人们输入他们的邮政编码,如果它在列表中,他们将获得价格计算器选项。
如果他们的邮政编码不在列表中,则会显示一条消息“请致电更多信息”
我现在正在开发代码,但这就是我所拥有的:
$(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从数组中提取。非常感谢任何帮助 - 我一直在网上搜索没有太多运气。
答案 0 :(得分:1)
$.inArray()
需要至少2个参数 - 1)要查找的值和2)要查看的数组。的 Documentation 强>
在您的情况下,您只传递值(根据inArray
的签名的第一个参数),您需要的是:
if(jQuery.inArray($('#id_zip_code').val(), zipCodes) > -1) {
...
}
答案 1 :(得分:0)
尝试
$(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;
});
});
演示:Fiddle