有没有一种方法可以强制jQueryUI自动完成显示数据标签而不是数据值:
例如
[{“ label”:“ name”,“ value”:“ 1”},{“ label”:“ name3”,“ value”:“ 6”},{“ label”:“ name1”,“ value “:” 8“},{” label“:” name2“,” value“:” 10“}]
$( ".auto-search" ).autocomplete({
minLength: 2,
dataType: 'json',
source: tempJson,
focus: function(event, ui){
$('input[name="user-name"]').val(ui.item.label);
},
select: function (event,ui){
$('input[name="user-name"]').val(ui.item.label);
$('input[name="user-id"]').val(ui.item.value);
return false;
}
})
上面的代码,当您按下向下按钮时,将显示值而不是标签。可以更改显示标签吗?
请确保从您的return false
事件处理程序中选择focus
或阻止该事件的默认操作:
focus: function(event, ui){
event.preventDefault();
$('input[name="user-name"]').val(ui.item.label);
},
回调函数对我不起作用。因此,我使用了绑定事件autocompletefocus
,并且工作正常。
$('input[name="user-name"]').on("autocompletefocus", function (event, ui) {
event.preventDefault();
$(this).val(ui.item.label);
});