我正在使用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?请帮忙。
答案 0 :(得分:0)
你仍然需要在你的函数中使用$ find(CalBeh)._ selectedDate而不仅仅是CalBeh._selectedDate。你得到错误,因为CalBeh是字符串而不是日历对象。
编辑: 在你的javascript事件函数(dateselect和calendarhidden)中你有'cntrl'参数。这是实际的日历对象。
您可以这样做以获取所选日期,而不是使用$ find和使用行为ID:
var date = cntrl._selectedDate