【发布时间】:2013-06-29 01:08:43
【问题描述】:
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 时执行正确的搜索。当我使用箭头键(或鼠标)在下拉列表中选择不同的项目时,小部件甚至在#search 输入字段中显示label。除了,我一按回车,小部件就会用value 而不是label 填充#search 输入字段。因此该字段显示 One-Thing 而不是 One-Thing。
我该如何纠正这个问题?当然,我期待的是更合理的行为,不是吗?
【问题讨论】: