有没有办法可以强制jQueryUI自动完成显示数据标签而不是数据值:
例如
[{ “标签”: “姓名”, “值”: “1”},{ “标签”: “NAME3”, “值”: “6”},{ “标记”: “NAME1”,”值 “:” 8 “},{” 标签 “:” NAME2" , “值”: “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;
}
})
上面的代码,当您按下向下按钮时,显示值而不是标签。可以更改以显示标签吗?
答案 0 :(得分:9)
确保return false
或阻止来自focus
事件处理程序的事件的默认操作:
focus: function(event, ui){
event.preventDefault();
$('input[name="user-name"]').val(ui.item.label);
},
答案 1 :(得分:0)
回调函数对我不起作用。所以我使用了绑定事件autocompletefocus
并正常工作。
$('input[name="user-name"]').on("autocompletefocus", function (event, ui) {
event.preventDefault();
$(this).val(ui.item.label);
});