如果/ Else表格邮政编码/县过滤器

时间:2013-06-18 20:41:46

标签: jquery arrays validation if-statement multi-select

我有一个网站,其中包含我所居住地区某些县的特定内容。我想创建一个表单,帮助用户访问他们需要的特定页面。因为我不想要一个县的下拉列表。我希望用户输入邮政编码,然后如果该邮政编码中存在重叠,则选择一个县。

我不确定这是否可行,但我正在尝试创建一个可以执行此操作的表单:

表单的第一部分:输入邮政编码的文本框,然后单击提交,然后显示隐藏的可用县的显示无线电组选项,根据他们选择的县,它们将被定向到特定的URL。

我正在尝试将其基于我在Fiddle

上看到的代码

这是我正在使用的(并且失败了)

<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">Option County1, County2 or Other</div>

<div id="id_div_two">Option County3, County4 or Other</div>    

<div id="id_div_sorry">Please call our office for a quote</div>

jQuery的:

$(function () {
var zipCode1 = ['11111', '22222', '33333'];
$('#id_div_one, #id_div_sorry').hide();

var zipCode2 = ['44444', '55555', '66666'];
$('#id_div_two, #id_div_sorry').hide();

$('#zip_form').submit(function () {
    $('#id_div_one, #id_div_two, #id_div_sorry').hide();
    if (jQuery.inArray($('#id_zip_code').val(), zipCode1) > -1) {
        $('#id_div_one').css('display', 'inline');
    }
    if (jQuery.inArray($('#id_zip_code').val(), zipCode2) > -1) {
            $('#id_div_two').css('display', 'inline');
    } else {
            $('#id_div_sorry').css('display', 'inline');
    }
        return false;
    });

});

See It Fail In Action

这可能吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

是的,这是可能的,你的代码几乎可以工作。 唯一的错误是,你在第5行覆盖了zipCodes数组,因为两个zipCode变量都有相同的名称。

因此,更改secound zipCode数组的名称,一切都可以。

var zipCodeOne = ['11111', '22222', '33333'];
$('#id_div_one, #id_div_sorry').hide();

var zipCodeTow = ['44444', '55555', '66666'];
$('#id_div_two, #id_div_sorry').hide();

如需进一步改进,请参阅:

http://jsfiddle.net/E2cMT/4/