簡體   English   中英

如何在Ajax日歷擴展程序中查找行為ID

[英]How to find behavior ID in Ajax calendar extender

我正在使用Ajax日歷擴展器來選擇多個日期。

    <Ajax:CalendarExtender ID="CalendarExtender2" runat="Server"  
BehaviorID="CalendarExtender2"  TargetControlID="TextBox8"  
PopupButtonID="Image1" OnClientDateSelectionChanged="dateselect" OnClientHidden="calendarhidden" OnClientShown="setInitialValue"/>

這是Java腳本代碼。

function dateselect(cntrl) {

    var calendarBehavior1 = $find("CalendarExtender2");
    var date = calendarBehavior1._selectedDate.format("M/dd/yyyy");
    var hiddencontrol = $get('<%=HiddenField1.ClientID %>');
    if (hiddencontrol.value.indexOf(date) == -1)
        hiddencontrol.value += date + ";";
    tag1 = 1;
}

function calendarhidden(cntrl) {

    var calendarBehavior = $find("CalendarExtender2");
    if (tag1 == 1)
        calendarBehavior.show();
    $get('<%=TextBox8.ClientID %>').value = $get('<%=HiddenField1.ClientID %>').value;
}

但是,我想使這些Java腳本函數通用化。 這樣我就可以用於其他壓延劑。 如果我通過這個

OnClientDateSelectionChanged="dateselect(this)"

如何使用此查找行為ID? 請幫忙。

您仍然必須在函數中使用$ find(CalBeh)._ selectedDate而不只是CalBeh._selectedDate。 因為CalBeh是字符串而不是日歷對象,所以會出現錯誤。

編輯:在您的javascript事件函數(dateselect和calendarhidden)中,您具有'cntrl'參數。 這是實際的日歷對象。

不用執行$ find和使用行為ID,您可以這樣做來獲取選定的日期:

var date = cntrl._selectedDate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM