繁体   English   中英

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

[英]JQuery 'OR' operator to combine two variables

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

});

非常感谢你。

您可以尝试使用逗号分隔符或多重选择器

$("#id_releasing_body ,#id_release_body_institution") .../ rest of the code

如果要在此处重用该函数,请对其命名,然后将命名函数(而不是匿名函数)传入。 然后,您的or逻辑可以在if或switch情况下工作。 对我来说,目前尚不清楚您要在此处检查的内容,即是否存在id_releasing_body,这是否排除了具有id_release_body_institution的可能性?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM