根据邮政编码条目设置隐藏输入的值



我正在尝试为特定区域设置数组,然后将它们与输入的邮政编码进行比较,以设置隐藏字段的值(命名区域(。我输入的所有内容都设置了";未找到";。我被难住了,任何帮助都将不胜感激。

HTML:

<input id="zip" name="ZIPCODE" type="text" />
<input id="REGION" name="REGION" type="hidden" /> 

脚本:

var eastZips = [19144, 19103, 19104];
var westZips = [90210, 90211, 90212];


$("#zip").keyup(function() {        
if ($(this).val() == eastZips) {
$("#REGION").val("East");
} else if ($(this).val() == westZips) {
$("#REGION").val("West");
} else 
$("#REGION").val("Not Found");
});  

输入的值永远不会与eastZipswestZips匹配,因为您正在比较不同的东西"类型";。存储的变量是数组,输入值是字符串。

这里需要采取一些步骤来解决这个问题。

虽然您输入的是一组数字,但JS将以字符串形式读取字段值,因此您必须确保您正在处理该值,以便与存储的整数进行正确比较。这可以通过将字段值放入parseInt 来实现

接下来要检查的是输入值是否是任一数组的一部分,这可以通过使用include来实现。

var eastZips = [19144, 19103, 19104];
var westZips = [90210, 90211, 90212];


$("#zip").keyup(function() {
// Store input value for easier access, and wrap
// it in a parseInt to ensure you are storing
// an integer for comparison.
var zip_value = parseInt( $(this).val() );
// Check if either array stores the input value
if ( eastZips.includes( zip_value ) ) {
$("#REGION").val( "East" );
} else if ( westZips.includes( zip_value ) ) {
$("#REGION").val( "West" );
} else {
$("#REGION").val( "Not found" );
}
});

最新更新