Проблема выбора селектора выпадающего меню с помощью AJAX
В настоящее время я пытаюсь создать страницу, на которой моя база данных обновляется по событию падения. Точнее, у меня есть страница с возможностью перетаскивания, и мне нужно, чтобы каждый раз, когда я перетаскиваю определенный div (deal-card) в другой div (stage-column), мне нужно сделать обновление в базе данных, которое представляет эту "сделку", помещенную в другой "stage".
Для этого проекта моим бэкендом является Django, и до сих пор я могу успешно изменять основные поля CharFields по событию падения, хотя выбор селектора в выпадающем меню поставил меня в тупик.
На данный момент я просто произвольно выбрал "value" = 3 для целевого селектора, просто чтобы посмотреть, смогу ли я заставить его работать. К сожалению, что бы я ни пробовал, я всегда получаю сообщение "This field is required". Я прикрепил картинку, показывающую это ниже.
Любая помощь будет очень признательна!
AJAX КОД
$(document).one('drop', function(ev){
ev.preventDefault();
var stage_title_path = '#' + el.id + " .stage-title";
var stage_title = $(stage_title_path).html();
$.ajax({
type:'POST',
url:deal_card_url,
data:{
deal_owner: 'John Doe',
deal_address: '745 Amen Street',
deal_arv: '150050',
deal_repair: '140000',
csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(),
},
success:function(){
$("#id_stage").val("3").change();
}
});
});
ФОРМА ВЫПАДАЮЩАЯ HTML
<p><label for="id_stage">Stage:</label> <select name="stage" required="" id="id_stage">
<option value="">---------</option>
<option value="1" selected="">New</option>
<option value="2">Sent Offer</option>
<option value="3">Under Contract</option>
<option value="4">Option</option>
<option value="5">Closed</option>
<option value="24">New Lead</option>
</select></p>
AJAX Обновленная форма/веб-страница обновления сделки
Разобрался. На самом деле это было довольно просто...
Для параметра "data" в функции ajax мне нужно было указать "значение" нужного селектора (aka stage), как показано в коде ниже.
data:{
deal_owner: 'Sally Sue',
deal_address: '745 Amen Street',
deal_arv: '222',
deal_repair: '333',
stage: "2",
В данном случае передача этапа "value" равного "2", как видно из html, соответствует опции "Sent Offer" в выпадающем меню. Ранее я пытался использовать фактическое имя селектора (например, Sent Offer).