Javascript 从xml内容搜索自动完成,然后放入隐藏字段
是否有从xml自动完成搜索然后将值放入隐藏字段的示例脚本 xml示例:Javascript 从xml内容搜索自动完成,然后放入隐藏字段,javascript,jquery,xml,autocomplete,Javascript,Jquery,Xml,Autocomplete,是否有从xml自动完成搜索然后将值放入隐藏字段的示例脚本 xml示例: <geoname><name>London</name><geonameId>2643743</geonameId><countryCode>GB</countryCode><countryName>United Kingdom</countryName></geoname> London2643743G
<geoname><name>London</name><geonameId>2643743</geonameId><countryCode>GB</countryCode><countryName>United Kingdom</countryName></geoname>
London2643743GB英国
在搜索名称时,geonameId值将被放入隐藏字段中
javascript:
<script type='text/javascript'>
$(window).load(function(){
$.ajax({
type: "GET",
url: "Region.xml", // change to full path of file on server
dataType: "xml",
success: function(xmlResponse) {
var data = $("geoname", xmlResponse).map(function() {
return {
value: $("Name", this).text() ,
id: $("geonameId", this).text()
};
}).get();
$("#test").autocomplete({
source: function(req, response) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp("^" + re, "i");
response($.grep(data, function(item) {
return matcher.test(item.value);
}));
},
minLength: 2,
select: function(event, ui) {
$("#result").html(ui.item ? ui.item.id : "Nothing selected, input was " + this.value);
}
});
}
});
});
</script>
$(窗口)。加载(函数(){
$.ajax({
键入:“获取”,
url:“Region.xml”,//更改为服务器上文件的完整路径
数据类型:“xml”,
成功:函数(xmlResponse){
var data=$(“geoname”,xmlResponse).map(函数(){
返回{
值:$(“名称”,this).text(),
id:$(“geonameId”,this).text()
};
}).get();
$(“#测试”)。自动完成({
来源:功能(请求、响应){
var re=$.ui.autocomplete.escapeRegex(请求期限);
var matcher=newregexp(“^”+re,“i”);
响应($.grep(数据、功能(项目)){
返回匹配器测试(项值);
}));
},
最小长度:2,
选择:功能(事件、用户界面){
$(“#结果”).html(ui.item?ui.item.id:“未选择任何内容,输入为”+此.value);
}
});
}
});
});
html
如何将结果(geonameId)放入隐藏字段?请粘贴您尝试的代码。我认为您已经这样做了,但您应该使用
$(“#result”).attr('value',ui.item?ui.item.id:“未选择任何内容,输入为”+此.value)代码>
<div class="ui-widget">
<input id="test" />
</div>
<input type="hidden" name="result" value="">