<script type="text/javascript">
var area = {'Mongkok': 1001,'Wan Chai': 1002, 'Sai Kung' : 1003};
</script>
<select id="area">
<option value='0'>choose an area</option>
<option value='1001'>Mong kok</option>
<option value='1002'>Wan Chai</option>
<option value='1003'>Sai Kung</option>
</select>
<input id='address' type='text' />
当我输入文字(16 Argyle Street,旺角)文本框#address; 如何在#area中使用jquery自动选择旺角选项(价值:1001)
根据地址文本匹配区域
非常感谢..
例如
//when #address's value='16 Argyle Street, Mongkok'
//addres var match Mongkok
//then <option value="1001" selected="selected">Mong kok</option>
答案 0 :(得分:0)
试试这个
$("#address").keyup(function(){
var val = this.value.replace(/ /g,"");
$.each($("#area option"), function(){
var optVal = $(this).text().replace(/ /g,"");
if(optVal == val){
(this).attr("selected","selected");
}
});
});
答案 1 :(得分:0)
已更新版本:
$("#address").keyup(function() {
var adress = $(this).val();
for (var v in area) {
if (adress.indexOf(v) >= 0) {
$("#area").val(area[v]);
break;
}
}
});
请注意,这可能无法很好地扩展。它必须遍历area
中的每个元素,如果你有很多,这可能会成为一个问题。此外,您可能希望添加某种超时,以便仅在用户未在短时间内输入某些文本后才运行代码。请参阅this question。
答案 2 :(得分:0)
他想在输入地址时搜索匹配的选择选项。
也许有人可以让我的jsfiddle示例工作。我不确定如何检查一个字符串是否在另一个字符串中。 http://jsfiddle.net/gSBWw/