jQuery Как проверить, изменились ли два или более выпадающих элемента - PullRequest
0 голосов
/ 12 февраля 2020

Я использую вызов ajax, когда два выпадающих списка изменены. Как я могу это сделать? Это то, что я сделал, но это работает, когда есть какие-либо изменения в форме, что не совсем то поведение, которое я ищу:

$myForm.change(function(event)
{
    event.preventDefault();
     $.ajax({
        method: "GET",
        url: $endPoint,
        data: $formData,  
        success: function(data){
            console.log("success!"); },

        error: function(error){
            console.log("error: ", error)
        },
        complete: function(xhr, status){ 
            console.log("The request is complete!");
        }

    });

Кроме того, не похоже, что это работает :

$("#id_dropdown_1", "#id_dropdown_2").change( function () {
     ... same as above 
});

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

Вы можете сохранить id первого раскрывающегося раскрывающегося списка, а затем вызвать ajax при последующем изменении раскрывающегося раскрывающегося списка:

var selectChanged = "";
$("select").change(function() {
  if (selectChanged === "") selectChanged = $(this).attr("id");
  else if ($(this).attr("id") !== selectChanged) console.log("Call function here");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="select1">
  <option>A</option>
  <option>B</option>
  <option>C</option>
</select>
<select id="select2">
  <option>X</option>
  <option>Y</option>
  <option>Z</option>
</select>
0 голосов
/ 12 февраля 2020

вы использовали другую перегрузку функции jquery

use $ ("# id_dropdown_1", "# id_dropdown_2") неверно

отдельно между идентификаторами только с запятой без двойных кавычек между двумя идентификаторами вот так $("#id_dropdown_1, #id_dropdown_2")

и не забудьте передать параметр event для изменения функции

$("#id_dropdown_1, #id_dropdown_2").change( function (event) {
     ... same as above 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...