【发布时间】:2015-04-07 20:48:52
【问题描述】:
我正在使用 jQ UI Autocompletebox 小部件。
这是使用 ACB 的 jQ:
$('.drug-name').autocomplete({
source: function (request, response) {
$.ajax('/Drugs/JsonIndex/',
{
dataType: 'json',
data: { searchBy: request.term },
success: function (data) {
response($.map(data, function (item) {
return { value: item.Name, label: item.Name };
/*1****************/
}));
},
select: function (event, ui) {
/*2****************/
},
messages: {
noResults: '',
results: ''
},
_renderItem: function (ul, item) {
/*3****************/
return $('<li>')
.html(item.label)
.prop('title', item.description)
.data('drug-id', item.value)
.appendTo(ul);
}
});
}
});
我已经标记了我想谈论的那些地方:
- 从请求中接收到的
data参数包含属性Id、Name和Description。我希望生成的lis 使用Name作为显示值,Description作为工具提示 (title="Description"),并将Id设置为附加数据字段 - 当一个元素被选中时,我想用所选项目的 ID 设置一个隐藏字段
- 我想过用这个函数来设置它,但首先我想不出一种方法来传递除 jQ 的标准化值和标签之外的另一个结构。
【问题讨论】:
标签: jquery ajax jquery-ui jquery-autocomplete jquery-ui-autocomplete