Javascript JQuery自动完成文本到文本框的设置

Javascript JQuery自动完成文本到文本框的设置,javascript,jquery,html,Javascript,Jquery,Html,我有一个json字符串,如下所示: [ { "CustomerCountryId": "1", "CountryName": "Australia" }, { "CustomerCountryId": "1", "CountryName": "Austria" }, { "CustomerCountryId": "1", "CountryName": "Be

我有一个json字符串,如下所示:

[
    {
        "CustomerCountryId": "1",
        "CountryName": "Australia"
    },

    {
        "CustomerCountryId": "1",
        "CountryName": "Austria"
    },

    {
        "CustomerCountryId": "1",
        "CountryName": "Belgium"
    }
]

我想使用
JQuery
auto complete将
CountryName
设置为文本框和
“customer countryid”
当我键入国家名称时,它不会在自动完成框中显示数据。

您可以使用此方法:将数据转换为
标签的
数组,
value
id
属性,然后在选择函数中获取
id
属性:

HTML代码:

<input id="search" />
<input type="text" id="CustomerCountryId" />
var data = [
  {
    "CustomerCountryId": "3",
    "CountryName": "Australia"
  },

  {
    "CustomerCountryId": "2",
    "CountryName": "Austria"
  },

  {
    "CustomerCountryId": "1",
    "CountryName": "Belgium"
  }
];

$("#search").autocomplete({
  source: data.reduce(function(array, item){
    array = array || [];
    array.push({label: item.CountryName, value: item.CountryName, id: item.CustomerCountryId});
    return array;
  }, []),
  select: function( event, ui ) {
    $("#CustomerCountryId").val(ui.item.id);
  }
});

谢谢@elchininet:)不客气;)如果此答案对您有用,请将其标记为正确答案。