私は以前モデル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();
クロムでこのエラーを取得します:
Uncaught TypeError: Object [object Object] has no method 'deactivate'
json形式の結果リストが返されますが、結果リストが表示されず、言及されたエラーが発生します!!
注:でエラーが発生しjquery.dj.selectable.js
ます。