jQuery'OR'运算符组合两个变量

时间:2019-02-19 15:26:33

标签: javascript jquery

我想在我的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);
    }
  });

});

非常感谢您。

2 个答案:

答案 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的可能性?