我已使用django-selectable
按Company
搜索name
模型,并使用此lookup
:
class FruitLookup(ModelLookup):
model = Company
search_fields = ('name__icontains', )
def get_item_label(self, item):
return u"%s,%s" % (item.name, item.logo.url)
from selectable.registry import registry
registry.register(FruitLookup)
views.py
中的:
companyForm=FruitForm()
return render_to_response('PersonHub/addCompanyPosition.html',{'companyForm':companyForm},context_instance=RequestContext(request))
模板中的:
<form id="frmCompanyPositionAdd" action="" method="POST" style='padding-left:10px;padding-right:10px' >
{{companyForm}}
</form>
模板标题中的:
function formatLabel(label, item) {
var data = label.split(',');
$('.ui-autocomplete').css({ 'float': 'right','text-align':'right'});
return "<span><span>"+data[0]+"</span> <span><img class='size32' src='"+data[1]+"' /></span></span>";
}
$('#id_autocomplete').djselectable('option', 'formatLabel', formatLabel);
我将所选公司的ID保存在ID = id_chosen_company
$( "#id_autocomplete" ).on( "autocompleteselect", function( event, ui ) {jQuery('#id_chosen_company').val(ui.item.id);} );
但是当我在id = company name
的输入中输入id_autocomplete
时,我在firefox中收到此错误:
this.menu.deactivate is not a function
this.menu.deactivate();
并在chrome中出现此错误:
Uncaught TypeError: Object [object Object] has no method 'deactivate'
虽然返回了json格式的结果列表,但结果列表没有显示,我得到提到的错误!!
注意:错误发生在jquery.dj.selectable.js
。