0

我曾经在模型django-selectable上搜索并拥有这个:Companynamelookup

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>&nbsp;<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.

4

0 回答 0