jQuery如何检查两个或多个select下拉元素是否已更改

jQuery如何检查两个或多个select下拉元素是否已更改,jquery,ajax,Jquery,Ajax,当两个下拉选择被更改时,我正在使用ajax调用。我该怎么做?这就是我所做的,但当表单发生任何更改时,它会起作用,而这并不是我所要寻找的行为: $myForm.change(function(event) { event.preventDefault(); $.ajax({ method: "GET", url: $endPoint, data: $formData, success: function(data

当两个下拉选择被更改时,我正在使用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 
});

您可以存储更改的第一个下拉列表的
id
,然后在之后更改的下拉列表不是相同的下拉列表时调用ajax:

var selectChanged=“”;
$(“选择”).change(函数(){
如果(selectChanged==“”)selectChanged=$(this.attr(“id”);
else if($(this.attr(“id”)!==selectChanged)console.log(“此处调用函数”);
});

A.
B
C
X
Y
Z

您使用了jquery函数的另一个重载

使用$(“#id_dropdown_1”,“#id_dropdown_2”)是错误的

在ID之间用逗号分隔,在两个ID之间不使用双引号
$(“#id_下拉列表_1,#id_下拉列表_2”)

不要忘记传递
事件
参数以更改函数

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

这只用于检查它们中是否有一个发生了变化,而不是两个都发生了变化(或者至少两个)。我不明白,这段代码会将函数绑定到这些选择器上的change事件,是的,但当两个选择器都发生了变化时不会。如果
id\u dropdown\u 1
id\u dropdown\u 2
发生更改,它将调用该函数。这意味着,只要有人只更改其中一个,就会调用ajax。