2015-09-27 32 views
0

当条件满足并执行时,我有以下函数daterange,即使参数值不等于“date”,它也会继续运行。虽然条件不符合,但函数仍在运行

我也尝试使用返回从函数退出,但它仍然在运行。

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

有什么想法?

+0

提供可复制问题的演示。也许你需要销毁日期选择器?另外...无需在事件处理程序中将'$(function(){})'封装到插件初始化。 – charlietfl

+0

我该如何销毁它 – ayman

+0

还不确定究竟是什么问题。是选择日期,然后选择其他东西离开datepicker后面?日期选择器是否有一个销毁方法?不知道什么插件正在使用 – charlietfl

回答

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; 
    } 
}); 
相关问题