【发布时间】:2015-09-27 15:19:17
【问题描述】:
我正在尝试创建一个简单的邮政编码搜索。当输入值仅包含变量中定义的每个邮政编码的前两个字母时,我已经能够影响更改。
var AB = "AB";
var AL = "AL";
但是,当输入完整的邮政编码时,包含的字符比定义的变量多,则不会进行任何更改。我需要如何构造变量,以便它们查找仅包含已定义字符的输入值。
【问题讨论】:
标签: jquery string substring postal-code
我正在尝试创建一个简单的邮政编码搜索。当输入值仅包含变量中定义的每个邮政编码的前两个字母时,我已经能够影响更改。
var AB = "AB";
var AL = "AL";
但是,当输入完整的邮政编码时,包含的字符比定义的变量多,则不会进行任何更改。我需要如何构造变量,以便它们查找仅包含已定义字符的输入值。
【问题讨论】:
标签: jquery string substring postal-code
多个变量对于您正在尝试做的事情是多余的,请使用多维数组并循环遍历每个变量。 [jsFiddle here上的解决方案
$('.find').click(function() {
var text = $("#distancePostcode").val().toLowerCase();
var PostCode = {
'AB': 'test1',
'AL': 'test2'
}
for (var key in PostCode) {
if (key.toLowerCase().indexOf(text) > -1) {
for (var key2 in PostCode) {
$('#' + PostCode[key2]).css("background", "");
}
$('#' + PostCode[key]).css("background", "red");
break;
}
}
});
.test {
margin: 10px 0px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" placeholder="Postcode" id="distancePostcode"> <a class="find">find</a>
<div class="test" id="test1">test 1</div>
<div class="test" id="test2">test 2</div>
]1
【讨论】: