jQuery UI 自动完成的一个潜在的简单问题让我很难过。我的来源是
var ac = [
{
label: "One Thing",
value: "One-Thing"
},
{
label: "Two Thing",
value: "Two-Thing"
},
]
我正在调用小部件
$(function() {
$( "#search" ).autocomplete({
source: PK.getAutocompleteSource(),
focus: function( event, ui ) {
$("#search").val(ui.item.label);
return false;
},
select: function( event, ui ) {
$("#search").val(ui.item.label);
PK.render(ui.item.value);
}
});
});
一切正常。当我在#search
输入字段中键入时,匹配的标签会显示在下拉列表中,并且当我select
执行正确的搜索时。当我使用箭头键(或鼠标)在下拉列表中选择不同的项目时,小部件甚至会label
在输入字段中显示 。#search
除了,我一按回车,小部件就会用 .而不是. 填充#search
输入字段。因此该字段显示One-Thing而不是One Thing。value
label
我该如何纠正?当然,我期待的是更合理的行为,不是吗?