2015-09-27 33 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; 
    } 
}); 
相關問題