Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery自动完成显示名称和发送Id_Javascript_Jquery_Jquery Ui Autocomplete - Fatal编程技术网

Javascript Jquery自动完成显示名称和发送Id

Javascript Jquery自动完成显示名称和发送Id,javascript,jquery,jquery-ui-autocomplete,Javascript,Jquery,Jquery Ui Autocomplete,如何将jQuery自动完成更改为使用Id而不是值? 我想显示姓名列表,但使用Id值发送搜索。现在它可以正确地处理名称,但我认为如果它试图找到一个唯一的值作为ID,它会更有效 $.getJSON('Dashboard/CompaniesWithId', function (data) { $.each(data, function (i, item) { sellers[i] = item.Name; sellersID[i] = item.Id; }); }).error

如何将jQuery自动完成更改为使用Id而不是值? 我想显示姓名列表,但使用Id值发送搜索。现在它可以正确地处理名称,但我认为如果它试图找到一个唯一的值作为ID,它会更有效

$.getJSON('Dashboard/CompaniesWithId', function (data) {
  $.each(data, function (i, item) {
    sellers[i] = item.Name;
    sellersID[i] = item.Id;
  });
}).error(function () {
  console.log("error loading seller to the autocomplete");
});

$("#searchSeller").autocomplete({
  messages: {
    noResults: 'No sellers with this name',        
  },
  minLength: 2,
  delay: 500,
  source: sellers,
});

我对你的后端一无所知。但是假设它接受您的搜索参数的ID,将
source
值更改为
sellersID
会解决您的问题吗?在源后面还有一个额外的逗号。这会给你带来麻烦

$("#searchSeller").autocomplete({
  messages: {
    noResults: 'No sellers with this ID.',        
  },
  minLength: 2,
  delay: 500,
  source: sellersID
});

可以添加隐藏字段并使用on select事件将隐藏字段的值设置为选定id

您也可以使用格式为
[{value:'value',label:'label'}]
的选择数据,但通过这种方式,字段将显示id而不是标签

var availableTags=[
{id:1,标签:“ActionScript”},
{id:2,标签:“Ruby”},
{id:3,标签:“Scala”},
{id:4,标签:“Scheme”}
];
availableTags2=[
{value:1,标签:“ActionScript”},
{value:2,标签:“Ruby”},
{value:3,标签:“Scala”},
{value:4,标签:“Scheme”}
];
$(“#a”).自动完成({
资料来源:availableTags,
选择:功能(事件、用户界面){
$('#tosend').val(ui.item.id);
}
});
$(“#b”).自动完成({
来源:availableTags2
});

要发送的id


在下面键入



使用值而不是id