我曾经在模型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);} );
但是当我company name
使用 id= 输入输入时,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
.