выбор onchange работает после второго раза — jquery — django

#javascript #jquery #django #onchange

#язык JavaScript #jquery #джанго #по обмену

Вопрос:

Я пытаюсь показать некоторую базу данных по выбранным данным в раскрывающемся поле, форма представляет собой динамический набор форм ( modelformset_factory ), но она дважды вызывает данные и не вызывает никаких данных при первом выборе, во второй раз затем возвращает данные! и в функции python также ничего не возвращает при первом выборе, при втором выборе данные возвращаются два раза!
вот мой views.py код

 @login_required def return_back_imei_oddinfo(request):  query = request.GET  for item in query:  if item.startswith("imei-") and item.endswith("-item"):  item_id = query.get(item)  print(item)  break   selling_price= Imei.objects.get(id=item_id).mobile.selling_price,  data = {  'selling_price' : selling_price,   }   return JsonResponse(data)  

forms.py

 class ImeiInvoiceForm(forms.ModelForm):  item = ImeiModelChoiceField(queryset=Imei.objects.filter(status=True),widget=forms.Select(attrs={'onchange':'imeiInfo(this);'}))  class Meta:  model = ImeiInvoice  fields = ['item','price']  

и вот мой шаблон

 function imeiInfo () {  $('select').change(function() {  let elm = $(this);  data = {};  data[elm.attr("name")] = elm.val();  $.ajax({  url:'/ajax/return_back_imei_oddinfo/',  data:data,  success:function(data){  console.log(data.selling_price)  if (data){  elm.closest("div.child_imeiforms_row").find("input.price").val(data.selling_price);  }  else{  alert('not inserted')   }  }  })  })     }  imeiInfo(); 
 {{imei_forms.management_form}}  lt;div id="form-imeilists"gt;  {% for imei in imei_forms %}  {{imei.id}}  lt;div class="child_imeiforms_row"gt;   lt;div class="row no-gutters table-bordered"gt;  lt;div class="col-md-3"gt;  lt;div class="form-group"gt;  {{imei.item | add_class:'form-control'}}  lt;div class="text-danger text-center" hiddengt;lt;/divgt;  lt;/divgt;  lt;/divgt;  lt;div class="col-md-2"gt;  lt;div class="form-group"gt;  {{imei.price | add_class:'price'}}  lt;div class="text-danger text-center" hiddengt;lt;/divgt;  lt;/divgt;  lt;/divgt;   lt;/divgt;  lt;/divgt;  {% endfor %}  lt;/divgt;  lt;div id="empty-imei-invoiceform" class="hidden"gt;  lt;div class="row no-gutters table-bordered"gt;  lt;div class="col-md-3"gt;  lt;div class="form-group"gt;  {{imei_forms.empty_form.item | add_class:'form-control'}}  lt;div class="text-danger text-center" hiddengt;lt;/divgt;  lt;/divgt;  lt;/divgt;  lt;div class="col-md-2"gt;  lt;div class="form-group"gt;  {{imei_forms.empty_form.price | add_class:'price'}}  lt;div class="text-danger text-center" hiddengt;lt;/divgt;  lt;/divgt;  lt;/divgt;     lt;/divgt;   lt;/divgt; 

и jquery.min.js это в верхней части файлов сценариев, есть ли что-то, что я пропустил, пожалуйста, или я что-то неправильно понял? спасибо за ваш ответ