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