我想在我的JQuery函数中获得帮助。我对JS
-JQuery
-AJAX
很陌生,我想简化我的功能。
到目前为止,每个功能都位于特定的HTML文件中。但是我想将两者都设置为app.js
文件,并分解为唯一函数。
我有这个:
$("#id_releasing_body").change(function () {
var url = $("#form_search").attr("data-provider-url");
var releasingBodyId = $(this).val();
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
data: {
'releasing_body': releasingBodyId
},
success: function (data) {
$("#id_member_state").val(data.member_state);
}
});
});
和这个:
$("#id_release_body_institution").change(function () {
var url = $("#form_search").attr("data-provider-url");
var releasingBodyId = $(this).val();
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
data: {
'releasing_body': releasingBodyId
},
success: function (data) {
$("#id_member_state").val(data.member_state);
}
});
});
正如您所看到的,这是同一件事,只是开头的change
变量是不同的。我的问题是:是否可以将两个函数分解为一个函数。
这是我所做的,但不起作用(也许这个想法是正确的):
if ($("#id_releasing_body")||$("#id_release_body_institution")).change(function () {
var url = $("#form_search").attr("data-provider-url");
var releasingBodyId = $(this).val();
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
data: {
'releasing_body': releasingBodyId
},
success: function (data) {
$("#id_member_state").val(data.member_state);
}
});
});
非常感谢您。
答案 0 :(得分:12)
您可以尝试使用逗号分隔符或multiple-selector
$("#id_releasing_body ,#id_release_body_institution") .../ rest of the code
答案 1 :(得分:0)
如果您想在此处重用该函数,请对其进行命名,然后将命名函数(而不是匿名函数)传入。然后,您的or逻辑可以在if或switch情况下工作。对我来说,目前尚不清楚您要在此处检查的内容,即是否有id_releasing_body排除了具有id_release_body_institution的可能性?