尽管不满足条件,函数仍在运行

Function still running although the condition is not met

本文关键字:运行 函数 不满足 条件      更新时间:2023-09-26

我有下面这个函数称为daterange一旦条件满足并执行,它继续运行,即使参数值不等于"日期"。

我也尝试使用return退出函数,但它仍在运行。

Javascript

$(document).ready(function(e) {
  $('.search-panel .dropdown-menu').find('a').click(function(e) {
    e.preventDefault();
    var param = $(this).attr("href").replace("#", "");
    var concept = $(this).text();
    $('.search-panel span#search_concept').text(concept);
    $('[id$=hdnSearchParam]').val(param);
    if (param == "date") {
      $(function daterange() {
        $("#<%= txtsearch.ClientID %>").daterangepicker({
          locale: {
            format: 'DD/MMM/YYYY'
          }
        });
      });
    } else {
      return false;
    }
  });
});
//Re-Create for on page postbacks
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function daterange() {
  $('.search-panel .dropdown-menu').find('a').click(function(e) {
    e.preventDefault();
    var param = $(this).attr("href").replace("#", "");
    var concept = $(this).text();
    $('.search-panel span#search_concept').text(concept);
    $('[id$=hdnSearchParam]').val(param);
    if (param == "date") {
      $(function() {
        $("#<%= txtsearch.ClientID %>").daterangepicker({
          locale: {
            format: 'DD/MMM/YYYY'
          }
        });
      });
    } else {
      return false;
    }
  });
});

任何想法吗?

我认为最好将daterangepicker的初始化隔离在一个单独的函数中,如

function initDateRange()
{
    $("#<%= txtsearch.ClientID %>").daterangepicker({
      locale: { format: 'DD/MMM/YYYY' }
    });
}

命名为

$(document).ready(function(e) {
  $('.search-panel .dropdown-menu').find('a').click(function(e) {
    e.preventDefault();
    var param = $(this).attr("href").replace("#", "");
    var concept = $(this).text();
    $('.search-panel span#search_concept').text(concept);
    $('[id$=hdnSearchParam]').val(param);
    if (param == "date") {
        initDateRange();
    } else {
        return false;
    }
  });
});
//Re-Create for on page postbacks
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function daterange() {
$('.search-panel .dropdown-menu').find('a').click(function(e) {
    e.preventDefault();
    var param = $(this).attr("href").replace("#", "");
    var concept = $(this).text();
    $('.search-panel span#search_concept').text(concept);
    $('[id$=hdnSearchParam]').val(param);
       if (param == "date") {
           initDateRange();
    } else {
     return false;
  }
});