对于我的节点应用程序,我使用jQuery自动完成来搜索person的名称。每个人都有id号。现在当我输入id时,没有搜索列表应该显示不是id的人的名字。请在此指导
答案 0 :(得分:0)
这样的事情应该有效:
一些示例代码:
$('input.your_AutocompleteClassForInputField').each(function() {
var autoCompelteElement = this;
var formElementName = $(this).attr('name');
var hiddenElementID = formElementName + '_autocomplete_hidden';
/* change name of orig input */
$(this).attr('name', formElementName + '_autocomplete_label');
/* create new hidden input with name of orig input */
$(this).after("<input type=\"hidden\" name=\"" + formElementName + "\" id=\"" + hiddenElementID + "\" />");
$(this).autocomplete({source:'your_source_file_name',
select: function(event, ui) {
var selectedObj = ui.item;
$(autoCompelteElement).val(selectedObj.label);
$('#'+hiddenElementID).val(selectedObj.value);
return false;
}
});
});
希望有所帮助
答案 1 :(得分:0)
感谢您的回复。我会提供我的代码。
焦点:
function() {
$('#search_input').catcomplete({
appendTo: $('#searchresults'),
source : function(request, response) {
var filterValues = [];
_.each(that.categories, function(category) {
if (category.terms !== undefined && category.terms.length > 0) {
filterValues = filterValues.concat($.ui.autocomplete.filter(category.terms, request.term));
}
});
response(filterValues);
},
select : function(event, ui) {
$('#search_input').trigger('submit', ui.item);
}
});
}
当我输入id时,它返回列表中的id,但我不想在搜索列表上显示id,而是应显示名称。因此,用户应该能够通过名称和ID来搜索此人,搜索列表应该只返回两者的名称。