我想用jquery-ui添加一个自动完成字段。我有一个带有值和标签的对象列表,我希望当用户选择一个项目时,该值将出现在隐藏字段中,并且该标签位于自动完成字段中。但文档说“当用户选择项目时,该值将被插入到输入元素中。”
可以改变这种行为吗?我认为如果显示标签,它更加用户友好,而不是价值本身。
答案 0 :(得分:1)
关注select
字段:使用ui
作为参数,您可以使用ui.item.label
和ui.item.value
来完成魔术。
使用preventDefault()
来阻止预定义的jQuery行为。
$('#your_element').autocomplete({
// [...]
select: function(e,ui){
e.preventDefault();
// set value in your element
$(this).val(ui.item.label);
// set value in the hidden field
$('#hidden').val(ui.item.value);
},
// [...]
});