尽管条件不满足,功能仍在运行

时间:2015-09-27 15:19:16

标签: javascript jquery

一旦条件满足并执行,我在下面有一个名为daterange的函数,即使参数值不等于" date"它也会继续运行。

我还尝试使用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;
    }
  });
});

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为最好在一个单独的函数中隔离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;
  }
});