最近好几个项目都用到日历选择,而考虑到页面刷新,多个控件页面传值等问题,决定自己写个建议又实用的弹出式日历选择控件以备调用。具体如下实现:
在需要调用日期选择的页面放置两个TEXTBOX与BUTTON以选择开始时间与结束时间,并在html代码的 </body>之前加入如下javascript语句:
<script language="javascript">
function openModeBegin()
{
var returnValue=window.showModalDialog("CalendarForm2.aspx",Form1.TextBoxBeginDate.value);
Form1.TextBoxBeginDate.value=returnValue;
}
</script>
<script language="javascript">
function openModeEnd()
{
var returnValue=window.showModalDialog("CalendarForm2.aspx",Form1.TextBoxEndDate.value);
Form1.TextBoxEndDate.value=returnValue;
}
</script>
以上语句定义了两个模态对话框,当调用模态对话框时打开CalendarForm2.aspx页面选择日期,本页面窗体FORM名称为Form1,两个TextBox分别接收传递进来的两个时间值而且应该能互不影响。注意html中窗体的定义应该与javascript中定义的对应并且应该是服务器端运行的,如<form id="Form1" method="post" runat="server">。
在本页面WebForm1.aspx.cs代码部分页面加载Page_Load事件内加入如下语句将定义的javascript行为赋予
</ItemTemplate>
</Columns>
2. 在当页加入:
<script language="javascript">
function SelectAll(tempControl)
{
//将除头模板中的其它所有的CheckBox取反
var theBox=tempControl;
xState=theBox.checked;
elem=theBox.form.elements;
for(i=0;i<elem.length;i++)
if(elem[i].type=="checkbox" && elem[i].id!=theBox.id)
{
&n
elem[i].click();
}
}
</script>