【发布时间】:2015-08-24 08:06:07
【问题描述】:
我正在处理来自 jquery UI 的自动完成组件。虽然我的自动完成工作正常,但如果我输入建议的字母“I”,它会显示所有可从 json 数据获得的列表,我只需要相关字母,例如,如果我输入字母 I“印度”、印度尼西亚等。而且我只需要在列表中显示最多 10 个值。在这里,我更新了最新的代码我正在尝试在自动完成中进行切片,并且我正在尝试在下一个文本框中获得相同的值。
这是当前的 jquery 代码
$("#ipt_Countryres").autocomplete({
source: function( request, response ) {
var regex = new RegExp(request.term, 'i');
//var filteredArray = filteredArray.slice(0,10);
$.ajax({
url: "json/countries.json",
dataType: "json",
data: {term: request.term},
success: function(data) {
response($.map(data, function(item) {
if(regex.test(item.label)){
return {
id: item.id,
label: item.label,
value: item.value
};
}
}));
},
minlength:2,
select: function (event, ui) {
$("#get_country").val(ui.item.label);
}
});
}
});
这是 HTML 代码
<input type="text" id="ipt_Countryres" name="ipt_Countryres" class="ipt_Field"/>
<input type="text" class="ipt_Field" id="get_country" name="get_country"/ disabled>
这是我的示例 JSON 数据
[
{
"value":"Afghanistan",
"label":"Afghanistan",
"id":"AF"
},
{
"value":"Åland Islands ",
"label":"Åland Islands",
"id":"AX"
},
{
"value":"Albania ",
"label":"Albania",
"id":"AL"
},
{
"value":"Algeria ",
"label":"Algeria",
"id":"DZ"
},
{
"value":"American Samoa ",
"label":"American Samoa",
"id":"AS"
},
{
"value":"AndorrA ",
"label":"AndorrA",
"id":"AD"
},
{
"value":"Angola ",
"label":"Angola",
"id":"AO"
},
{
"value":"Anguilla ",
"label":"Anguilla",
"id":"AI"
},
{
"value":"Antarctica ",
"label":"Antarctica",
"id":"AQ"
},
{
"value":"Antigua and Barbuda ",
"label":"Antigua and Barbuda",
"id":"AG"
}]
请帮帮我。
提前致谢
马哈迪文
【问题讨论】:
-
您可能需要查看以下 SO:[stackoverflow.com/questions/3148195/… [1]:stackoverflow.com/questions/3148195/…
标签: javascript jquery css json autocomplete