<script type="text/javascript">
function PickerFrom_OnDateChange(sender, eventArgs) {
var fromDate = PickerFrom.getSelectedDate();
var toDate = PickerTo.getSelectedDate();
CalendarFrom.setSelectedDate(fromDate);
if (fromDate > toDate) {
PickerTo.setSelectedDate(fromDate);
CalendarTo.setSelectedDate(fromDate);
}
}
function PickerTo_OnDateChange(sender, eventArgs) {
var fromDate = PickerFrom.getSelectedDate();
var toDate = PickerTo.getSelectedDate();
CalendarTo.setSelectedDate(toDate);
if (fromDate > toDate) {
PickerFrom.setSelectedDate(toDate);
CalendarFrom.setSelectedDate(toDate);
}
}
function CalendarFrom_OnChange(sender, eventArgs) {
var fromDate = CalendarFrom.getSelectedDate();
var toDate = PickerTo.getSelectedDate();
PickerFrom.setSelectedDate(fromDate);
if (fromDate > toDate) {
PickerTo.setSelectedDate(fromDate);
CalendarTo.setSelectedDate(fromDate);
}
}
function CalendarTo_OnChange(sender, eventArgs) {
var fromDate = PickerFrom.getSelectedDate();
var toDate = CalendarTo.getSelectedDate();
PickerTo.setSelectedDate(toDate);
if (fromDate > toDate) {
PickerFrom.setSelectedDate(toDate);
CalendarFrom.setSelectedDate(toDate);
}
}
function ButtonFrom_OnClick(event) {
if (CalendarFrom.get_popUpShowing()) {
CalendarFrom.hide();
}
else {
CalendarFrom.setSelectedDate(PickerFrom.getSelectedDate());
CalendarFrom.show();
}
}
function ButtonTo_OnClick(event) {
if (CalendarTo.get_popUpShowing()) {
CalendarTo.hide();
}
else {
CalendarTo.setSelectedDate(PickerTo.getSelectedDate());
CalendarTo.show();
}
}
function ButtonFrom_OnMouseUp(event) {
if (CalendarFrom.get_popUpShowing()) {
event.cancelBubble = true;
event.returnValue = false;
return false;
}
else {
return true;
}
}
function ButtonTo_OnMouseUp(event) {
if (CalendarTo.get_popUpShowing()) {
event.cancelBubble = true;
event.returnValue = false;
return false;
}
else {
return true;
}
}
</script>
<div>
Start Date:
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td onmouseup="ButtonFrom_OnMouseUp(event)">
<ComponentArt:Calendar ID="PickerFrom" runat="server" PickerFormat="Custom" PickerCustomFormat="yyyy MM d , H:mm:ss"
ControlType="Picker" SelectedDate="" PickerCssClass="picker" TitleType="VisibleDateText"
AMDesignator="AM" PMDesignator="PM">
<ClientEvents>
<SelectionChanged EventHandler="PickerFrom_OnDateChange" />
</ClientEvents>
</ComponentArt:Calendar>
</td>
<td style="font-size: 10px;">
</td>
<td>
<img id="calendar_from_button" alt="" onclick="ButtonFrom_OnClick(event)" onmouseup="ButtonFrom_OnMouseUp(event)"
class="calendar_button" src="images/btn_calendar.gif" />
</td>
</tr>
</table>
<ComponentArt:Calendar runat="server" ID="CalendarFrom" AllowMultipleSelection="false"
AllowWeekSelection="false" AllowMonthSelection="false" ControlType="Calendar"
PopUp="Custom" PopUpExpandControlId="calendar_from_button" AutoTheming="true"
Width="170" Height="100" DayNameFormat="Full" DayNames="Sun,Mon,Tue,Wen,Thu,Fri,Sat"
MonthNames="Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec," SelectedDate="">
<ClientEvents>
<SelectionChanged EventHandler="CalendarFrom_OnChange" />
</ClientEvents>
</ComponentArt:Calendar>
<br />
<br />
Finish Date:
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td onmouseup="ButtonTo_OnMouseUp(event)">
<ComponentArt:Calendar ID="PickerTo" runat="server" PickerFormat="Custom" PickerCustomFormat="yyyy MM d , H:mm:ss"
ControlType="Picker" SelectedDate="" PickerCssClass="picker">
<ClientEvents>
<SelectionChanged EventHandler="PickerTo_OnDateChange" />
</ClientEvents>
</ComponentArt:Calendar>
</td>
<td style="font-size: 10px;">
</td>
<td>
<img id="calendar_to_button" alt="" onclick="ButtonTo_OnClick(event)" onmouseup="ButtonTo_OnMouseUp(event)"
class="calendar_button" src="images/btn_calendar.gif" />
</td>
</tr>
</table>
<ComponentArt:Calendar runat="server" ID="CalendarTo" AllowMultipleSelection="false"
AllowWeekSelection="false" AllowMonthSelection="false" ControlType="Calendar"
PopUp="Custom" PopUpExpandControlId="calendar_to_button" AutoTheming="true" Width="170"
Height="100" DayNameFormat="Full" DayNames="Sun,Mon,Tue,Wen,Thu,Fri,Sat" MonthNames="Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,"
PickerCustomFormat="yyyy d MM hh:mm:ss">
<ClientEvents>
<SelectionChanged EventHandler="CalendarTo_OnChange" />
</ClientEvents>
</ComponentArt:Calendar>
<br />
<br />
<hr />
<asp:Label ID="lblResult" runat="server"></asp:Label><br />
<asp:Button ID="submit" runat="server" OnClick="submit_Click" Text="显示" />
</div>这段代码四个CA控件(calendar控件),选择日期时间的。
他里面客户端JS都是每一个动作就需要一个处理函数。
我想封装下。可是做不好。谁帮我看下。
里面做的事情都是一些控件的显示或者赋值之类的
我想想把这些ondatechange 之类的级封装起来。传个控件ID过去,然后根据传的ID生成名字不同的处理函数
然后做的事情呢,其实都是样,也就是根据ID不同来做事情。
而是想把那些凌乱的JS给封装起来
根据传递的控件ID生成不同的处理函数
而是想把那些凌乱的JS给封装起来
根据传递的控件ID生成不同的处理函数
下载去参考下...
asp.net开发常用javascript函数封装(c#)版
http://download.csdn.net/source/1539125
看这一个处理函数function PickerFrom_OnDateChange(sender, eventArgs) {
var fromDate = PickerFrom.getSelectedDate();
CalendarFrom.setSelectedDate(fromDate);
}
这里要是我用sender 这属性的话在函数里面也只能判断一个控件出来
就变成下面这样的代码。
var fromDate = sender.getSelectedDate();
而下面这句CalendarFrom.setSelectedDate(fromDate);
这个CalendarFrom还是要静态的去写。这样还是达不到我想要的。
用sender这两个处理函数都没办法组成一个。function PickerFrom_OnDateChange(sender, eventArgs) {
var fromDate = PickerFrom.getSelectedDate();
CalendarFrom.setSelectedDate(fromDate);
}
和下面这个
function PickerTo_OnDateChange(sender, eventArgs) {
var toDate = PickerTo.getSelectedDate();
CalendarTo.setSelectedDate(toDate);
}
///////CalendarTo和CalendarFrom是两个控件。
/* 不知道能不能看懂,感觉说的不太好。*/
不过这两个函数都没有用sender参数,就用了一个event function ButtonFrom_OnClick(event) {
if (CalendarFrom.get_popUpShowing()) {
CalendarFrom.hide();
}
else {
CalendarFrom.setSelectedDate(PickerFrom.getSelectedDate());
CalendarFrom.show();
}
}
function ButtonTo_OnClick(event) {
if (CalendarTo.get_popUpShowing()) {
CalendarTo.hide();
}
else {
CalendarTo.setSelectedDate(PickerTo.getSelectedDate());
CalendarTo.show();
}
}
我把这两个去试试看
如果是pickerfrom 就调用calendarfrom
如果是pickerto就调用calendarto
显示就隐藏,隐藏就显示