- 浏览: 19271 次
- 性别:
- 来自: 深圳
文章分类
最新评论
<html>
<script>
//每月或每日的点击事件处理方法
function selectedAll(obj,ckbObj)
{
var ckbObjS=document.getElementsByName(ckbObj);
if(obj.checked)
{
//alert("选择");
if(ckbObjS!=null && ckbObjS.length>0){
for(i=0;i<ckbObjS.length;i++){
ckbObjS[i].checked=false;
ckbObjS[i].disabled=true;
}
}
}else{
//alert("没有选择");
if(ckbObjS!=null && ckbObjS.length>0){
for(i=0;i<ckbObjS.length;i++){
ckbObjS[i].disabled=false;
}
}
}
}
//重置可选择快的内容
function resetCheckbox()
{
var ckbObjS0=document.getElementsByName("ckbYear");
for(i=0;i<ckbObjS0.length;i++){
ckbObjS0[i].checked=false;
}
document.getElementById("ckbMonthAll").checked=false;
var ckbObjS1=document.getElementsByName("ckbMonth");
for(i=0;i<ckbObjS1.length;i++){
ckbObjS1[i].disabled=false;
ckbObjS1[i].checked=false;
}
document.getElementById("ckbDayAll").checked=false;
var ckbObjS2=document.getElementsByName("ckbDay");
for(i=0;i<ckbObjS2.length;i++){
ckbObjS2[i].disabled=false;
ckbObjS2[i].checked=false;
}
}
//添加按钮的点击事件处理方法
function add()
{
//验证数据
var testSelectDateRuleFlag=testSelectDateRule();
if(testSelectDateRuleFlag==false)return;
//------------------年----------------------------
var flagY=true;
var yearValue="";
var ckbYearObjS=document.getElementsByName("ckbYear");
if(ckbYearObjS!=null && ckbYearObjS.length>0){
for(i=0;i<ckbYearObjS.length;i++){
if(ckbYearObjS[i].checked==true)
{
yearValue=ckbYearObjS[i].value;
if(flagY!=false)flagY=false;
//------------------月-----------start-----------------
var flagM=true;
var monthValue="";
if(document.getElementById("ckbMonthAll").checked){
monthValue=document.getElementById("ckbMonthAll").value;
flagM=false;
//------------------日--------------start--------------
var flagD=true;
var dayValue="";
if(document.getElementById("ckbDayAll").checked){
dayValue=document.getElementById("ckbDayAll").value;
flagD=false;
//设置添加值------start---------------
//--------------1-----------------------
var oldRuleValue= document.getElementById("ruleValue").value;
var newRuleValue=yearValue+"|"+monthValue+"|"+dayValue;
if(oldRuleValue==null || oldRuleValue==""){
document.getElementById("ruleValue").value=newRuleValue;
}else{
document.getElementById("ruleValue").value=oldRuleValue+";"+newRuleValue;
}
//--------------2------------------------
var sltName=setNewRuleValue(newRuleValue);
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
//设置添加值------end---------------
}else{
var ckbDayObjS=document.getElementsByName("ckbDay");
if(ckbDayObjS!=null && ckbDayObjS.length>0){
for(iii=0;iii<ckbDayObjS.length;iii++){
if(ckbDayObjS[iii].checked==true)
{
dayValue=ckbDayObjS[iii].value;
if(flagD!=false)flagD=false;
//设置添加值------start---------------
//--------------1-----------------------
var oldRuleValue= document.getElementById("ruleValue").value;
var newRuleValue=yearValue+"|"+monthValue+"|"+dayValue;
if(oldRuleValue==null || oldRuleValue==""){
document.getElementById("ruleValue").value=newRuleValue;
}else{
document.getElementById("ruleValue").value=oldRuleValue+";"+newRuleValue;
}
//--------------2------------------------
var sltName=setNewRuleValue(newRuleValue);
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
//设置添加值------end---------------
}
}
}
}
if(flagD==true){
alert("请选择日子。");
return;
}
//------------------日--------------end--------------
}else{
var ckbMonthObjS=document.getElementsByName("ckbMonth");
if(ckbMonthObjS!=null && ckbMonthObjS.length>0){
for(ii=0;ii<ckbMonthObjS.length;ii++){
if(ckbMonthObjS[ii].checked==true)
{
monthValue=ckbMonthObjS[ii].value;
if(flagM!=false)flagM=false;
//------------------日--------------start--------------
var flagD=true;
var dayValue="";
if(document.getElementById("ckbDayAll").checked){
dayValue=document.getElementById("ckbDayAll").value;
flagD=false;
//设置添加值------start---------------
//--------------1-----------------------
var oldRuleValue= document.getElementById("ruleValue").value;
var newRuleValue=yearValue+"|"+monthValue+"|"+dayValue;
if(oldRuleValue==null || oldRuleValue==""){
document.getElementById("ruleValue").value=newRuleValue;
}else{
document.getElementById("ruleValue").value=oldRuleValue+";"+newRuleValue;
}
//--------------2------------------------
var sltName=setNewRuleValue(newRuleValue);
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
//设置添加值------end---------------
}else{
var ckbDayObjS=document.getElementsByName("ckbDay");
if(ckbDayObjS!=null && ckbDayObjS.length>0){
for(iii=0;iii<ckbDayObjS.length;iii++){
if(ckbDayObjS[iii].checked==true)
{
dayValue=ckbDayObjS[iii].value;
if(flagD!=false)flagD=false;
//设置添加值------start---------------
//--------------1-----------------------
var oldRuleValue= document.getElementById("ruleValue").value;
var newRuleValue=yearValue+"|"+monthValue+"|"+dayValue;
if(oldRuleValue==null || oldRuleValue==""){
document.getElementById("ruleValue").value=newRuleValue;
}else{
document.getElementById("ruleValue").value=oldRuleValue+";"+newRuleValue;
}
//--------------2------------------------
var sltName=setNewRuleValue(newRuleValue);
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
//设置添加值------end---------------
}
}
}
}
if(flagD==true){
alert("请选择日子。");
return;
}
//------------------日--------------end--------------
}
}//end month else
}
}
if(flagM==true){
alert("请选择月份。");
return;
}
//------------------月-----------end-----------------
}
}
}
if(flagY==true){
alert("请选择年份。");
return;
}
resetCheckbox();
}
//把新增的日期规则添加到下拉框的显示内容
//如:2010|10|14 =》 2010年10月14日
function setNewRuleValue(newRuleValue)
{
var newRuleValueArray=newRuleValue.split("|");
var newRuleValueReturn=newRuleValueArray[0]+"年";
if(newRuleValueArray[1]=="*"){
newRuleValueReturn+="每月";
}else{
newRuleValueReturn+=newRuleValueArray[1]+"月";
}
if(newRuleValueArray[2]=="*"){
newRuleValueReturn+="每日";
}else{
newRuleValueReturn+=newRuleValueArray[2]+"日";
}
return newRuleValueReturn;
}
//删除某添加项
function deleteRuleDate()
{
var sltDateOpts=document.getElementById("sltDate");
if(sltDateOpts!=null && sltDateOpts.options!=null && sltDateOpts.options.length>0){
var flag=true;
var sltDateOptsV=sltDateOpts.options;
for(i=0;i<sltDateOptsV.length;i++){
if(sltDateOptsV[i].selected){
var sltDateValue=sltDateOptsV[i].value;
document.getElementById("sltDate").options.remove(i);
//去掉删除的内容,后面的;号,还有两个重叠的;号
var ruleValue= document.getElementById("ruleValue").value;
//ruleValue=ruleValue.replace(/(\sltDateValue)|(;*$)|(;;)/g, ""); //替换
ruleValue=ruleValue.replace(sltDateValue, ""); //替换删除内容
ruleValue=ruleValue.replace(";;", ";"); //替换;;
ruleValue=ruleValue.replace(/(^;)|(;$)/g, ""); //替换前后一个;为空
//alert("替换后的内容:"+ruleValue);
document.getElementById("ruleValue").value=ruleValue;
flag=false;
}
}
if(flag)
{
alert("请选择需要删除的项。");
}
}else{
alert("没有可删除项。");
}
}
//判断选择的日期规则是否有效、是否重复
function testSelectDateRule()
{
//判断选择的日期规则是否有效-------------------1-----------------------------------
//如:1.选了2月,根据选择的年份,判断二月有多少天,选择的天数不能超出范围
// (判断是否是闰年 能被4整除且不能被100整除 或 能被400整除 的年分为闰年 2月有29天)
// 2.大月和小月的判断
//------------------年----------------------------
var flagY=true;
var yearValue="";
var ckbYearObjS=document.getElementsByName("ckbYear");
if(ckbYearObjS!=null && ckbYearObjS.length>0){
for(i=0;i<ckbYearObjS.length;i++){
if(ckbYearObjS[i].checked==true)
{
yearValue=ckbYearObjS[i].value;
//(判断是否是闰年 能被4整除且不能被100整除 或 能被400整除 的年分为闰年)
var isNotLeapYear=false;//是否是闰年的标识变量
if(((yearValue%4==0) && (yearValue%100!=0)) || (yearValue%400==0)){
//alert(yearValue+"年是闰年,二月有29天。");
isNotLeapYear=true;
}else{
//alert(yearValue+"年是平年,二月有28天。");
}
if(flagY!=false)flagY=false;
//------------------月-----------start-----------------
var flagM=true;
var monthValue="";
if(document.getElementById("ckbMonthAll").checked){
monthValue=document.getElementById("ckbMonthAll").value;
flagM=false;
//------------------日--------------start--------------
var flagD=true;
var dayValue="";
if(document.getElementById("ckbDayAll").checked){
dayValue=document.getElementById("ckbDayAll").value;
flagD=false;
//----每月-----start------
if(isNotLeapYear && dayValue>29){
alert("对不起,您选择的"+yearValue+"年每月不能大于29天。");
return false;
}else if(dayValue>28){
alert("对不起,您选择的"+yearValue+"年每月不能大于28天。");
return false;
}
//----每月-----end------
//验证数据是否已经添加-----start---------------
var oldRuleValue= document.getElementById("ruleValue").value;
//var newRuleValue=yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue;
eval("var reg1=/"+yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue+"/;");
eval("var reg2=/"+yearValue+"\\|([1-9]|[1][0-2])\\|([1-9]|[1-3][0-9])"+"/;");
// eval("var reg3=/"+yearValue+"\\|"+monthValue+"\\|\\*/;");
//eval("var reg4=/"+yearValue+"\\|\\*\\|\\"+dayValue+"/;");
if(reg1.test(oldRuleValue)){
alert("对不起,您选择的"+yearValue+"年每月每日已经添加。");
return false;
}else if(reg2.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年某月某日了,不能再添加"+yearValue+"年每月每日了。");
return false;
}
//else if(reg3.test(oldRuleValue)){
// alert("对不起,您已添加了"+yearValue+"年"+monthValue+"月每日了,不能重复添加"+yearValue+"年"+monthValue+"月。");
// return false;
//}else if(reg4.test(oldRuleValue)){
// alert("对不起,您已添加了"+yearValue+"年每月"+dayValue+"日了,不能重复添加"+yearValue+"年"+monthValue+"月"+dayValue+"日。");
// return false;
//}
//验证数据是否已经添加------end---------------
}else{
var ckbDayObjS=document.getElementsByName("ckbDay");
if(ckbDayObjS!=null && ckbDayObjS.length>0){
for(i=0;i<ckbDayObjS.length;i++){
if(ckbDayObjS[i].checked==true)
{
dayValue=ckbDayObjS[i].value;
if(flagD!=false)flagD=false;
//----每月-----start------
if(isNotLeapYear && dayValue>29){
alert("对不起,您选择的"+yearValue+"年每月不能大于29天。");
return false;
}else if(dayValue>28){
alert("对不起,您选择的"+yearValue+"年每月不能大于28天。");
return false;
}
//----每月-----end------
//验证数据是否已经添加-----start---------------
var oldRuleValue= document.getElementById("ruleValue").value;
//var newRuleValue=yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue;
eval("var reg1=/"+yearValue+"\\|\\*\\|"+dayValue+"/;");
eval("var reg2=/"+yearValue+"\\|\\*\\|\\*"+"/;");
eval("var reg3=/"+yearValue+"\\|([1-9]|[1][0-2])\\|\\*/;");
eval("var reg4=/"+yearValue+"\\|([1-9]|[1][0-2])\\|"+dayValue+"/;");
if(reg1.test(oldRuleValue)){
alert("对不起,您选择的"+yearValue+"年每月"+dayValue+"日已经添加。");
return false;
}else if(reg2.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月每日了,不能重复添加"+yearValue+"年。");
return false;
}
else if(reg3.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年某月每日了,不能重复添加"+yearValue+"年每月"+dayValue+"日。");
return false;
}
else if(reg4.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年某月"+dayValue+"日了,不能重复添加"+yearValue+"年每月"+dayValue+"日。");
return false;
}
//验证数据是否已经添加------end---------------
}
}
}
}
if(flagD==true){
alert("请选择日子。");
return false;
}
//------------------日--------------end--------------
}else{
var ckbMonthObjS=document.getElementsByName("ckbMonth");
if(ckbMonthObjS!=null && ckbMonthObjS.length>0){
for(i=0;i<ckbMonthObjS.length;i++){
if(ckbMonthObjS[i].checked==true)
{
monthValue=ckbMonthObjS[i].value;
if(flagM!=false)flagM=false;
//------------------日--------------start--------------
var flagD=true;
var dayValue="";
if(document.getElementById("ckbDayAll").checked){
dayValue=document.getElementById("ckbDayAll").value;
flagD=false;
if(monthValue==2){//----2月-----start------
if(isNotLeapYear && dayValue>29){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于29天。");
return false;
}else if(dayValue>28){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于28天。");
return false;
}
}//----2月-----end------
//1.3.5.7.8.10.12 是大月,不需要判断
if(monthValue==4 || monthValue==6 || monthValue==9 || monthValue==11){//----4.6.9.11月-----start------
if(dayValue>30){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于30天。");
return false;
}
}//----4.6.9.11月-----end------
//验证数据是否已经添加-----start---------------
var oldRuleValue= document.getElementById("ruleValue").value;
//var newRuleValue=yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue;
eval("var reg1=/"+yearValue+"\\|"+monthValue+"\\|\\*/;");
eval("var reg2=/"+yearValue+"\\|\\*\\|\\*/;");
eval("var reg3=/"+yearValue+"\\|"+monthValue+"\\|([1-9]|[1-3][0-9])/;");
eval("var reg4=/"+yearValue+"\\|\\*\\|([1-9]|[1-3][0-9])/;");
if(reg1.test(oldRuleValue)){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月每日已经添加。");
return false;
}else if(reg2.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月每日了,不能重复添加"+yearValue+"年。");
return false;
}else if(reg3.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年"+monthValue+"月某日了,不能重复添加"+yearValue+"年"+monthValue+"月每日。");
return false;
}
else if(reg4.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月某日了,不能添加"+yearValue+"年"+monthValue+"月每日。");
return false;
}
//验证数据是否已经添加------end---------------
}else{
var ckbDayObjS=document.getElementsByName("ckbDay");
if(ckbDayObjS!=null && ckbDayObjS.length>0){
for(i=0;i<ckbDayObjS.length;i++){
if(ckbDayObjS[i].checked==true)
{
dayValue=ckbDayObjS[i].value;
if(flagD!=false)flagD=false;
if(monthValue==2){//----2月-----start------
if(isNotLeapYear && dayValue>29){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于29天。");
return false;
}else if(dayValue>28){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于28天。");
return false;
}
}//----2月-----end------
//1.3.5.7.8.10.12 是大月,不需要判断
if(monthValue==4 || monthValue==6 || monthValue==9 || monthValue==11){//----4.6.9.11月-----start------
if(dayValue>30){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于30天。");
return false;
}
}//----4.6.9.11月-----end------
//验证数据是否已经添加-----start---------------
var oldRuleValue= document.getElementById("ruleValue").value;
//var newRuleValue=yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue;
eval("var reg1=/"+yearValue+"\\|"+monthValue+"\\|"+dayValue+"/;");
eval("var reg2=/"+yearValue+"\\|\\*\\|\\*/;");
eval("var reg3=/"+yearValue+"\\|"+monthValue+"\\|\\*/;");
eval("var reg4=/"+yearValue+"\\|\\*\\|"+dayValue+"/;");
if(reg1.test(oldRuleValue)){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月"+dayValue+"日已经添加。");
return false;
}else if(reg2.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月每日了,不能重复添加"+yearValue+"年。");
return false;
}else if(reg3.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年"+monthValue+"月每日了,不能重复添加"+yearValue+"年"+monthValue+"月。");
return false;
}else if(reg4.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月"+dayValue+"日了,不能重复添加"+yearValue+"年"+monthValue+"月"+dayValue+"日。");
return false;
}
//验证数据是否已经添加------end---------------
}
}
}
}
if(flagD==true){
alert("请选择日子。");
return false;
}
//------------------日--------------end--------------
}
}
}
}
if(flagM==true){
alert("请选择月份。");
return false;
}
//------------------月-----------end-----------------
}
}
}
if(flagY==true){
alert("请选择年份。");
return false;
}
}
//确定,返回选择的值
function returnRuleDateValue()
{
var ruleValue= document.getElementById("ruleValue").value;
if(ruleValue.length<=500){
alert("您选择的值是:"+ruleValue);
window.returnValue=ruleValue;
}else{
alert("对不起,您选择的规则日期内容太多,请选择最多50个。");
}
}
//初始化已经选择的规则日期
function initRuleDate()
{
var txtName=document.getElementById('txtName').value;
if(txtName!=null && txtName!="")
{
//var a=window.dialogArguments; 获取值
var oldRuleDateValue=window.opener.document.getElementById(txtName).value;
if(oldRuleDateValue!=null && oldRuleDateValue!="")
{
//设置隐藏表单域
document.getElementById("ruleValue").value=oldRuleDateValue;
//设置多选下拉框
var ruleValueArray=oldRuleDateValue.split(";");
if(ruleValueArray!=null && ruleValueArray.length>0){
for(i=0;i<ruleValueArray.length;i++)
{
var dateValue=ruleValueArray[i];
if(dateValue.length>=7){
var newRuleValue=setNewRuleValue(dateValue)
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
}
}
}
}
}
}
</script>
<style>
option{
color:blue;
}
td{
font-size:12px;
}
</style>
<body onload="">
<table width="680" border="1" cellspacing="0" cellpadding="0" height="300">
<tr>
<td valign="top" align="center" colspan="3">
日期规则选择
</td>
</tr>
<tr>
<td width="470" valign="top" align="center">
<table width="470" border="1" cellspacing="0" cellpadding="0" height="300">
<tr>
<td valign="top" align="center" colspan="2">
可选择
</td>
</tr>
<tr>
<td width="50" align="right">
年:
</td>
<td width="420">
<table width="420" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="86">
<input type="checkbox" name="ckbYear" value="2010"/>2010年
</td>
<td width="86">
<input type="checkbox" name="ckbYear" value="2011"/>2011年
</td>
<td width="86">
<input type="checkbox" name="ckbYear" value="2012"/>2012年
</td>
<td width="86">
<input type="checkbox" name="ckbYear" value="2013"/>2013年
</td>
<td width="86">
<input type="checkbox" name="ckbYear" value="2014"/>2014年
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="50" align="right">
月:
</td>
<td width="420">
<table width="420" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="6">
<input type="checkbox" name="ckbMonthAll" value="*" onclick="selectedAll(this,'ckbMonth')"/>每月
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbMonth" value="1"/>1月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="2"/>2月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="3"/>3月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="4"/>4月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="5"/>5月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="6"/>6月
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbMonth" value="7"/>7月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="8"/>8月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="9"/>9月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="10"/>10月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="11"/>11月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="12"/>12月
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="right">
日:
</td>
<td>
<table width="420" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="6">
<input type="checkbox" name="ckbDayAll" value="*" onclick="selectedAll(this,'ckbDay')"/>每日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="1"/>1日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="2"/>2日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="3"/>3日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="4"/>4日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="5"/>5日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="6"/>6日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="7"/>7日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="8"/>8日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="9"/>9日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="10"/>10日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="11"/>11日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="12"/>12日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="13"/>13日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="14"/>14日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="15"/>15日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="16"/>16日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="17"/>17日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="18"/>18日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="19"/>19日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="20"/>20日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="21"/>21日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="22"/>22日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="23"/>23日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="24"/>24日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="25"/>25日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="26"/>26日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="27"/>27日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="28"/>28日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="29"/>29日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="30"/>30日
</td>
</tr>
<tr>
<td colspan="6">
<input type="checkbox" name="ckbDay" value="31"/>31日
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" align="center" colspan="2">
<input type="button" name="SubmitSave" value="添加" class="button23" onclick="add()">
<input type="reset" name="SubmitSave" value="重置" class="button23" onclick="resetCheckbox()">
</td>
</tr>
</table>
</td>
<td width="80" valign="top" align="center">
</td>
<td width="130" valign="top" align="center">
<table width="130" border="1" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td valign="top" align="center">
已选择
</td>
</tr>
<tr>
<td valign="top" align="center">
<select id="sltDate" name="sltDate" style="width:130;" multiple size="16">
</select>
</td>
</tr>
<tr>
<td valign="top" align="center">
<input type="button" name="SubmitSave" value="删除" class="button23" onclick="deleteRuleDate()">
<input type="button" name="SubmitSave" value="清空" class="button23" onclick="document.getElementById('ruleValue').value='';document.getElementById('sltDate').options.length=0;">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" align="center" colspan="3">
<input type="hidden" id="txtName" name="txtName" style="width:600;color:red;" value="<c:out value='${param.txtName}'"/>
<input type="hidden" id="ruleValue" name="ruleValue" style="width:600;color:red;" value=""/>
<input type="button" value="确定" onclick="returnRuleDateValue()"/>
</td>
</tr>
</table>
</body>
<script>
initRuleDate()
</script>
</html>
<script>
//每月或每日的点击事件处理方法
function selectedAll(obj,ckbObj)
{
var ckbObjS=document.getElementsByName(ckbObj);
if(obj.checked)
{
//alert("选择");
if(ckbObjS!=null && ckbObjS.length>0){
for(i=0;i<ckbObjS.length;i++){
ckbObjS[i].checked=false;
ckbObjS[i].disabled=true;
}
}
}else{
//alert("没有选择");
if(ckbObjS!=null && ckbObjS.length>0){
for(i=0;i<ckbObjS.length;i++){
ckbObjS[i].disabled=false;
}
}
}
}
//重置可选择快的内容
function resetCheckbox()
{
var ckbObjS0=document.getElementsByName("ckbYear");
for(i=0;i<ckbObjS0.length;i++){
ckbObjS0[i].checked=false;
}
document.getElementById("ckbMonthAll").checked=false;
var ckbObjS1=document.getElementsByName("ckbMonth");
for(i=0;i<ckbObjS1.length;i++){
ckbObjS1[i].disabled=false;
ckbObjS1[i].checked=false;
}
document.getElementById("ckbDayAll").checked=false;
var ckbObjS2=document.getElementsByName("ckbDay");
for(i=0;i<ckbObjS2.length;i++){
ckbObjS2[i].disabled=false;
ckbObjS2[i].checked=false;
}
}
//添加按钮的点击事件处理方法
function add()
{
//验证数据
var testSelectDateRuleFlag=testSelectDateRule();
if(testSelectDateRuleFlag==false)return;
//------------------年----------------------------
var flagY=true;
var yearValue="";
var ckbYearObjS=document.getElementsByName("ckbYear");
if(ckbYearObjS!=null && ckbYearObjS.length>0){
for(i=0;i<ckbYearObjS.length;i++){
if(ckbYearObjS[i].checked==true)
{
yearValue=ckbYearObjS[i].value;
if(flagY!=false)flagY=false;
//------------------月-----------start-----------------
var flagM=true;
var monthValue="";
if(document.getElementById("ckbMonthAll").checked){
monthValue=document.getElementById("ckbMonthAll").value;
flagM=false;
//------------------日--------------start--------------
var flagD=true;
var dayValue="";
if(document.getElementById("ckbDayAll").checked){
dayValue=document.getElementById("ckbDayAll").value;
flagD=false;
//设置添加值------start---------------
//--------------1-----------------------
var oldRuleValue= document.getElementById("ruleValue").value;
var newRuleValue=yearValue+"|"+monthValue+"|"+dayValue;
if(oldRuleValue==null || oldRuleValue==""){
document.getElementById("ruleValue").value=newRuleValue;
}else{
document.getElementById("ruleValue").value=oldRuleValue+";"+newRuleValue;
}
//--------------2------------------------
var sltName=setNewRuleValue(newRuleValue);
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
//设置添加值------end---------------
}else{
var ckbDayObjS=document.getElementsByName("ckbDay");
if(ckbDayObjS!=null && ckbDayObjS.length>0){
for(iii=0;iii<ckbDayObjS.length;iii++){
if(ckbDayObjS[iii].checked==true)
{
dayValue=ckbDayObjS[iii].value;
if(flagD!=false)flagD=false;
//设置添加值------start---------------
//--------------1-----------------------
var oldRuleValue= document.getElementById("ruleValue").value;
var newRuleValue=yearValue+"|"+monthValue+"|"+dayValue;
if(oldRuleValue==null || oldRuleValue==""){
document.getElementById("ruleValue").value=newRuleValue;
}else{
document.getElementById("ruleValue").value=oldRuleValue+";"+newRuleValue;
}
//--------------2------------------------
var sltName=setNewRuleValue(newRuleValue);
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
//设置添加值------end---------------
}
}
}
}
if(flagD==true){
alert("请选择日子。");
return;
}
//------------------日--------------end--------------
}else{
var ckbMonthObjS=document.getElementsByName("ckbMonth");
if(ckbMonthObjS!=null && ckbMonthObjS.length>0){
for(ii=0;ii<ckbMonthObjS.length;ii++){
if(ckbMonthObjS[ii].checked==true)
{
monthValue=ckbMonthObjS[ii].value;
if(flagM!=false)flagM=false;
//------------------日--------------start--------------
var flagD=true;
var dayValue="";
if(document.getElementById("ckbDayAll").checked){
dayValue=document.getElementById("ckbDayAll").value;
flagD=false;
//设置添加值------start---------------
//--------------1-----------------------
var oldRuleValue= document.getElementById("ruleValue").value;
var newRuleValue=yearValue+"|"+monthValue+"|"+dayValue;
if(oldRuleValue==null || oldRuleValue==""){
document.getElementById("ruleValue").value=newRuleValue;
}else{
document.getElementById("ruleValue").value=oldRuleValue+";"+newRuleValue;
}
//--------------2------------------------
var sltName=setNewRuleValue(newRuleValue);
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
//设置添加值------end---------------
}else{
var ckbDayObjS=document.getElementsByName("ckbDay");
if(ckbDayObjS!=null && ckbDayObjS.length>0){
for(iii=0;iii<ckbDayObjS.length;iii++){
if(ckbDayObjS[iii].checked==true)
{
dayValue=ckbDayObjS[iii].value;
if(flagD!=false)flagD=false;
//设置添加值------start---------------
//--------------1-----------------------
var oldRuleValue= document.getElementById("ruleValue").value;
var newRuleValue=yearValue+"|"+monthValue+"|"+dayValue;
if(oldRuleValue==null || oldRuleValue==""){
document.getElementById("ruleValue").value=newRuleValue;
}else{
document.getElementById("ruleValue").value=oldRuleValue+";"+newRuleValue;
}
//--------------2------------------------
var sltName=setNewRuleValue(newRuleValue);
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
//设置添加值------end---------------
}
}
}
}
if(flagD==true){
alert("请选择日子。");
return;
}
//------------------日--------------end--------------
}
}//end month else
}
}
if(flagM==true){
alert("请选择月份。");
return;
}
//------------------月-----------end-----------------
}
}
}
if(flagY==true){
alert("请选择年份。");
return;
}
resetCheckbox();
}
//把新增的日期规则添加到下拉框的显示内容
//如:2010|10|14 =》 2010年10月14日
function setNewRuleValue(newRuleValue)
{
var newRuleValueArray=newRuleValue.split("|");
var newRuleValueReturn=newRuleValueArray[0]+"年";
if(newRuleValueArray[1]=="*"){
newRuleValueReturn+="每月";
}else{
newRuleValueReturn+=newRuleValueArray[1]+"月";
}
if(newRuleValueArray[2]=="*"){
newRuleValueReturn+="每日";
}else{
newRuleValueReturn+=newRuleValueArray[2]+"日";
}
return newRuleValueReturn;
}
//删除某添加项
function deleteRuleDate()
{
var sltDateOpts=document.getElementById("sltDate");
if(sltDateOpts!=null && sltDateOpts.options!=null && sltDateOpts.options.length>0){
var flag=true;
var sltDateOptsV=sltDateOpts.options;
for(i=0;i<sltDateOptsV.length;i++){
if(sltDateOptsV[i].selected){
var sltDateValue=sltDateOptsV[i].value;
document.getElementById("sltDate").options.remove(i);
//去掉删除的内容,后面的;号,还有两个重叠的;号
var ruleValue= document.getElementById("ruleValue").value;
//ruleValue=ruleValue.replace(/(\sltDateValue)|(;*$)|(;;)/g, ""); //替换
ruleValue=ruleValue.replace(sltDateValue, ""); //替换删除内容
ruleValue=ruleValue.replace(";;", ";"); //替换;;
ruleValue=ruleValue.replace(/(^;)|(;$)/g, ""); //替换前后一个;为空
//alert("替换后的内容:"+ruleValue);
document.getElementById("ruleValue").value=ruleValue;
flag=false;
}
}
if(flag)
{
alert("请选择需要删除的项。");
}
}else{
alert("没有可删除项。");
}
}
//判断选择的日期规则是否有效、是否重复
function testSelectDateRule()
{
//判断选择的日期规则是否有效-------------------1-----------------------------------
//如:1.选了2月,根据选择的年份,判断二月有多少天,选择的天数不能超出范围
// (判断是否是闰年 能被4整除且不能被100整除 或 能被400整除 的年分为闰年 2月有29天)
// 2.大月和小月的判断
//------------------年----------------------------
var flagY=true;
var yearValue="";
var ckbYearObjS=document.getElementsByName("ckbYear");
if(ckbYearObjS!=null && ckbYearObjS.length>0){
for(i=0;i<ckbYearObjS.length;i++){
if(ckbYearObjS[i].checked==true)
{
yearValue=ckbYearObjS[i].value;
//(判断是否是闰年 能被4整除且不能被100整除 或 能被400整除 的年分为闰年)
var isNotLeapYear=false;//是否是闰年的标识变量
if(((yearValue%4==0) && (yearValue%100!=0)) || (yearValue%400==0)){
//alert(yearValue+"年是闰年,二月有29天。");
isNotLeapYear=true;
}else{
//alert(yearValue+"年是平年,二月有28天。");
}
if(flagY!=false)flagY=false;
//------------------月-----------start-----------------
var flagM=true;
var monthValue="";
if(document.getElementById("ckbMonthAll").checked){
monthValue=document.getElementById("ckbMonthAll").value;
flagM=false;
//------------------日--------------start--------------
var flagD=true;
var dayValue="";
if(document.getElementById("ckbDayAll").checked){
dayValue=document.getElementById("ckbDayAll").value;
flagD=false;
//----每月-----start------
if(isNotLeapYear && dayValue>29){
alert("对不起,您选择的"+yearValue+"年每月不能大于29天。");
return false;
}else if(dayValue>28){
alert("对不起,您选择的"+yearValue+"年每月不能大于28天。");
return false;
}
//----每月-----end------
//验证数据是否已经添加-----start---------------
var oldRuleValue= document.getElementById("ruleValue").value;
//var newRuleValue=yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue;
eval("var reg1=/"+yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue+"/;");
eval("var reg2=/"+yearValue+"\\|([1-9]|[1][0-2])\\|([1-9]|[1-3][0-9])"+"/;");
// eval("var reg3=/"+yearValue+"\\|"+monthValue+"\\|\\*/;");
//eval("var reg4=/"+yearValue+"\\|\\*\\|\\"+dayValue+"/;");
if(reg1.test(oldRuleValue)){
alert("对不起,您选择的"+yearValue+"年每月每日已经添加。");
return false;
}else if(reg2.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年某月某日了,不能再添加"+yearValue+"年每月每日了。");
return false;
}
//else if(reg3.test(oldRuleValue)){
// alert("对不起,您已添加了"+yearValue+"年"+monthValue+"月每日了,不能重复添加"+yearValue+"年"+monthValue+"月。");
// return false;
//}else if(reg4.test(oldRuleValue)){
// alert("对不起,您已添加了"+yearValue+"年每月"+dayValue+"日了,不能重复添加"+yearValue+"年"+monthValue+"月"+dayValue+"日。");
// return false;
//}
//验证数据是否已经添加------end---------------
}else{
var ckbDayObjS=document.getElementsByName("ckbDay");
if(ckbDayObjS!=null && ckbDayObjS.length>0){
for(i=0;i<ckbDayObjS.length;i++){
if(ckbDayObjS[i].checked==true)
{
dayValue=ckbDayObjS[i].value;
if(flagD!=false)flagD=false;
//----每月-----start------
if(isNotLeapYear && dayValue>29){
alert("对不起,您选择的"+yearValue+"年每月不能大于29天。");
return false;
}else if(dayValue>28){
alert("对不起,您选择的"+yearValue+"年每月不能大于28天。");
return false;
}
//----每月-----end------
//验证数据是否已经添加-----start---------------
var oldRuleValue= document.getElementById("ruleValue").value;
//var newRuleValue=yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue;
eval("var reg1=/"+yearValue+"\\|\\*\\|"+dayValue+"/;");
eval("var reg2=/"+yearValue+"\\|\\*\\|\\*"+"/;");
eval("var reg3=/"+yearValue+"\\|([1-9]|[1][0-2])\\|\\*/;");
eval("var reg4=/"+yearValue+"\\|([1-9]|[1][0-2])\\|"+dayValue+"/;");
if(reg1.test(oldRuleValue)){
alert("对不起,您选择的"+yearValue+"年每月"+dayValue+"日已经添加。");
return false;
}else if(reg2.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月每日了,不能重复添加"+yearValue+"年。");
return false;
}
else if(reg3.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年某月每日了,不能重复添加"+yearValue+"年每月"+dayValue+"日。");
return false;
}
else if(reg4.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年某月"+dayValue+"日了,不能重复添加"+yearValue+"年每月"+dayValue+"日。");
return false;
}
//验证数据是否已经添加------end---------------
}
}
}
}
if(flagD==true){
alert("请选择日子。");
return false;
}
//------------------日--------------end--------------
}else{
var ckbMonthObjS=document.getElementsByName("ckbMonth");
if(ckbMonthObjS!=null && ckbMonthObjS.length>0){
for(i=0;i<ckbMonthObjS.length;i++){
if(ckbMonthObjS[i].checked==true)
{
monthValue=ckbMonthObjS[i].value;
if(flagM!=false)flagM=false;
//------------------日--------------start--------------
var flagD=true;
var dayValue="";
if(document.getElementById("ckbDayAll").checked){
dayValue=document.getElementById("ckbDayAll").value;
flagD=false;
if(monthValue==2){//----2月-----start------
if(isNotLeapYear && dayValue>29){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于29天。");
return false;
}else if(dayValue>28){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于28天。");
return false;
}
}//----2月-----end------
//1.3.5.7.8.10.12 是大月,不需要判断
if(monthValue==4 || monthValue==6 || monthValue==9 || monthValue==11){//----4.6.9.11月-----start------
if(dayValue>30){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于30天。");
return false;
}
}//----4.6.9.11月-----end------
//验证数据是否已经添加-----start---------------
var oldRuleValue= document.getElementById("ruleValue").value;
//var newRuleValue=yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue;
eval("var reg1=/"+yearValue+"\\|"+monthValue+"\\|\\*/;");
eval("var reg2=/"+yearValue+"\\|\\*\\|\\*/;");
eval("var reg3=/"+yearValue+"\\|"+monthValue+"\\|([1-9]|[1-3][0-9])/;");
eval("var reg4=/"+yearValue+"\\|\\*\\|([1-9]|[1-3][0-9])/;");
if(reg1.test(oldRuleValue)){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月每日已经添加。");
return false;
}else if(reg2.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月每日了,不能重复添加"+yearValue+"年。");
return false;
}else if(reg3.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年"+monthValue+"月某日了,不能重复添加"+yearValue+"年"+monthValue+"月每日。");
return false;
}
else if(reg4.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月某日了,不能添加"+yearValue+"年"+monthValue+"月每日。");
return false;
}
//验证数据是否已经添加------end---------------
}else{
var ckbDayObjS=document.getElementsByName("ckbDay");
if(ckbDayObjS!=null && ckbDayObjS.length>0){
for(i=0;i<ckbDayObjS.length;i++){
if(ckbDayObjS[i].checked==true)
{
dayValue=ckbDayObjS[i].value;
if(flagD!=false)flagD=false;
if(monthValue==2){//----2月-----start------
if(isNotLeapYear && dayValue>29){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于29天。");
return false;
}else if(dayValue>28){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于28天。");
return false;
}
}//----2月-----end------
//1.3.5.7.8.10.12 是大月,不需要判断
if(monthValue==4 || monthValue==6 || monthValue==9 || monthValue==11){//----4.6.9.11月-----start------
if(dayValue>30){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月不能大于30天。");
return false;
}
}//----4.6.9.11月-----end------
//验证数据是否已经添加-----start---------------
var oldRuleValue= document.getElementById("ruleValue").value;
//var newRuleValue=yearValue+"\\|\\"+monthValue+"\\|\\"+dayValue;
eval("var reg1=/"+yearValue+"\\|"+monthValue+"\\|"+dayValue+"/;");
eval("var reg2=/"+yearValue+"\\|\\*\\|\\*/;");
eval("var reg3=/"+yearValue+"\\|"+monthValue+"\\|\\*/;");
eval("var reg4=/"+yearValue+"\\|\\*\\|"+dayValue+"/;");
if(reg1.test(oldRuleValue)){
alert("对不起,您选择的"+yearValue+"年"+monthValue+"月"+dayValue+"日已经添加。");
return false;
}else if(reg2.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月每日了,不能重复添加"+yearValue+"年。");
return false;
}else if(reg3.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年"+monthValue+"月每日了,不能重复添加"+yearValue+"年"+monthValue+"月。");
return false;
}else if(reg4.test(oldRuleValue)){
alert("对不起,您已添加了"+yearValue+"年每月"+dayValue+"日了,不能重复添加"+yearValue+"年"+monthValue+"月"+dayValue+"日。");
return false;
}
//验证数据是否已经添加------end---------------
}
}
}
}
if(flagD==true){
alert("请选择日子。");
return false;
}
//------------------日--------------end--------------
}
}
}
}
if(flagM==true){
alert("请选择月份。");
return false;
}
//------------------月-----------end-----------------
}
}
}
if(flagY==true){
alert("请选择年份。");
return false;
}
}
//确定,返回选择的值
function returnRuleDateValue()
{
var ruleValue= document.getElementById("ruleValue").value;
if(ruleValue.length<=500){
alert("您选择的值是:"+ruleValue);
window.returnValue=ruleValue;
}else{
alert("对不起,您选择的规则日期内容太多,请选择最多50个。");
}
}
//初始化已经选择的规则日期
function initRuleDate()
{
var txtName=document.getElementById('txtName').value;
if(txtName!=null && txtName!="")
{
//var a=window.dialogArguments; 获取值
var oldRuleDateValue=window.opener.document.getElementById(txtName).value;
if(oldRuleDateValue!=null && oldRuleDateValue!="")
{
//设置隐藏表单域
document.getElementById("ruleValue").value=oldRuleDateValue;
//设置多选下拉框
var ruleValueArray=oldRuleDateValue.split(";");
if(ruleValueArray!=null && ruleValueArray.length>0){
for(i=0;i<ruleValueArray.length;i++)
{
var dateValue=ruleValueArray[i];
if(dateValue.length>=7){
var newRuleValue=setNewRuleValue(dateValue)
var opt=new Option(sltName,newRuleValue);
document.getElementById("sltDate").options.add(opt);
}
}
}
}
}
}
</script>
<style>
option{
color:blue;
}
td{
font-size:12px;
}
</style>
<body onload="">
<table width="680" border="1" cellspacing="0" cellpadding="0" height="300">
<tr>
<td valign="top" align="center" colspan="3">
日期规则选择
</td>
</tr>
<tr>
<td width="470" valign="top" align="center">
<table width="470" border="1" cellspacing="0" cellpadding="0" height="300">
<tr>
<td valign="top" align="center" colspan="2">
可选择
</td>
</tr>
<tr>
<td width="50" align="right">
年:
</td>
<td width="420">
<table width="420" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="86">
<input type="checkbox" name="ckbYear" value="2010"/>2010年
</td>
<td width="86">
<input type="checkbox" name="ckbYear" value="2011"/>2011年
</td>
<td width="86">
<input type="checkbox" name="ckbYear" value="2012"/>2012年
</td>
<td width="86">
<input type="checkbox" name="ckbYear" value="2013"/>2013年
</td>
<td width="86">
<input type="checkbox" name="ckbYear" value="2014"/>2014年
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="50" align="right">
月:
</td>
<td width="420">
<table width="420" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="6">
<input type="checkbox" name="ckbMonthAll" value="*" onclick="selectedAll(this,'ckbMonth')"/>每月
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbMonth" value="1"/>1月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="2"/>2月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="3"/>3月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="4"/>4月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="5"/>5月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="6"/>6月
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbMonth" value="7"/>7月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="8"/>8月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="9"/>9月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="10"/>10月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="11"/>11月
</td>
<td width="70">
<input type="checkbox" name="ckbMonth" value="12"/>12月
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="right">
日:
</td>
<td>
<table width="420" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="6">
<input type="checkbox" name="ckbDayAll" value="*" onclick="selectedAll(this,'ckbDay')"/>每日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="1"/>1日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="2"/>2日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="3"/>3日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="4"/>4日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="5"/>5日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="6"/>6日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="7"/>7日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="8"/>8日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="9"/>9日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="10"/>10日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="11"/>11日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="12"/>12日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="13"/>13日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="14"/>14日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="15"/>15日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="16"/>16日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="17"/>17日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="18"/>18日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="19"/>19日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="20"/>20日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="21"/>21日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="22"/>22日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="23"/>23日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="24"/>24日
</td>
</tr>
<tr>
<td width="70">
<input type="checkbox" name="ckbDay" value="25"/>25日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="26"/>26日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="27"/>27日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="28"/>28日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="29"/>29日
</td>
<td width="70">
<input type="checkbox" name="ckbDay" value="30"/>30日
</td>
</tr>
<tr>
<td colspan="6">
<input type="checkbox" name="ckbDay" value="31"/>31日
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" align="center" colspan="2">
<input type="button" name="SubmitSave" value="添加" class="button23" onclick="add()">
<input type="reset" name="SubmitSave" value="重置" class="button23" onclick="resetCheckbox()">
</td>
</tr>
</table>
</td>
<td width="80" valign="top" align="center">
</td>
<td width="130" valign="top" align="center">
<table width="130" border="1" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td valign="top" align="center">
已选择
</td>
</tr>
<tr>
<td valign="top" align="center">
<select id="sltDate" name="sltDate" style="width:130;" multiple size="16">
</select>
</td>
</tr>
<tr>
<td valign="top" align="center">
<input type="button" name="SubmitSave" value="删除" class="button23" onclick="deleteRuleDate()">
<input type="button" name="SubmitSave" value="清空" class="button23" onclick="document.getElementById('ruleValue').value='';document.getElementById('sltDate').options.length=0;">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" align="center" colspan="3">
<input type="hidden" id="txtName" name="txtName" style="width:600;color:red;" value="<c:out value='${param.txtName}'"/>
<input type="hidden" id="ruleValue" name="ruleValue" style="width:600;color:red;" value=""/>
<input type="button" value="确定" onclick="returnRuleDateValue()"/>
</td>
</tr>
</table>
</body>
<script>
initRuleDate()
</script>
</html>
- 规则选择页面.rar (4 KB)
- 下载次数: 1
相关推荐
在IT领域,尤其是在网页开发和用户界面设计中,时间日期选择器是一个不可或缺的元素,它为用户提供了一种方便的方式来输入或选择日期和时间。对于一个支持多语言的网站,特别是中英文版本,拥有一个适配两种语言的...
**jQuery日期选择器插件**是一种广泛应用于网页开发中的组件,它允许用户通过交互式的日历界面方便地选择日期。这种插件极大地提高了用户在网页上输入日期的体验,尤其适用于需要用户输入生日、预约日期或者截止日期...
开发者需要定义一系列的CSS规则,将日期选择器的背景、文字颜色、边框等设置为橙色,以符合设计要求。CSS3还提供了更丰富的动画效果,如过渡和关键帧动画,可以用来增强用户交互体验。 4. **日期对象与处理**:...
`jquery.mobile.datebox.min.css`是该插件的样式文件,包含预设的样式规则,确保日期选择器在不同主题下保持一致的视觉效果。开发者可以根据需求调整这些样式,以符合应用的整体风格。 `jquery-1.6.4.min.js`是...
此外,选择器可能在处理闰年和非闰年之间的转换时出现问题,或者在处理不同的时间区域和夏令时规则时出错。 其次,性能问题也是一个常见挑战。如果选择器在大量数据(如多年日历视图)或快速连续操作下表现得缓慢或...
1. `xndatepicker.css`:这是日期选择器的样式文件,包含了一系列定义日期选择器外观的CSS规则。通过修改这些规则,我们可以自定义日期选择器的颜色、大小、布局等视觉元素,使其更好地融入到项目的设计中。 2. `...
在微信小程序开发中,选择器(Selector)是一种常见的交互组件,用于用户在多个选项中进行选择,例如日期选择器、地区选择器等。本源码示例“微信小程序uniapp选择器(日期,地区,预约).zip”着重展示了如何实现这些...
在这个日期选择器中,可能使用了`<input type="date">`来创建一个基本的日期输入字段,同时可能还利用了Web存储API进行数据的本地保存。 CSS3是层叠样式表的最新版本,它带来了许多令人兴奋的新特性。其中,最...
同时,还可以自定义选择器的行为,如改变选择项的顺序、添加额外的验证规则等。 ### 总结 AndroidPicker为Android开发者提供了一个强大且易用的工具,用于构建地址选择和日期选择功能。其简洁的API、丰富的自定义...
在Android开发中,有时我们需要为用户创建一个可以选取特定日期范围的功能,比如“阶段日期选择器”。这个场景常用于管理考勤、计划任务或者事件安排等应用。在本案例中,我们将探讨如何在Android应用程序中实现一个...
这个控件结合了DatePicker(日期选择器)和TimePicker(时间选择器)的功能,为用户提供了一站式的日期时间输入体验。在本篇文章中,我们将深入探讨WPF DateTimePicker的使用、功能特性以及如何自定义和优化它。 1....
【可选择皮肤jQuery日期选择器】是一款专为移动端网站设计的高效、易用的jQuery插件,它提供了丰富的皮肤选项,使得用户可以根据自己的网站风格轻松定制日期选择器的外观。这款插件在JavaScript(JS)特效领域,特别...
在预订航班场景中,日期选择器可能需要考虑用户的预订规则,如至少提前一天预订等。这需要在选择日期后进行验证,并根据结果给予用户反馈。 9. **本地化支持**: 考虑到全球用户,日期选择器应支持多种语言。...
在Android开发中,创建一个自定义的带万年历的日历选择器是一项常见的需求,它可以帮助用户更加方便地选择日期,特别是在需要精确到年、月、日的应用场景中。本项目着重于实现这样一个功能强大的控件,允许用户浏览...
在iOS开发中,日期选择器(Picker View)是常见的用户界面元素,用于让用户方便地选取特定日期或时间。本文将详细讲解如何实现一个能够显示年周、年月、年月日的日期选择器,以及如何根据时间戳设置日期限制。 首先...
6. **自定义行为**:如果需要,还可以通过扩展插件的默认行为,例如添加自定义的验证规则或者改变日期选择器的显示样式。 压缩包中的`date-range-picker`文件很可能包含了所有需要的资源,包括CSS文件、JavaScript...
JavaScript日期选择器通过提供可视化界面,使用户可以方便地通过日历样式选择日期,大大提升了用户体验。 日期控件的核心是JavaScript的Date对象,它提供了处理日期和时间的各种方法和属性。例如,`new Date()`用于...
《jQuery基于Bootstrap的日期时间选择器插件深度解析与应用》 在Web开发中,日期时间选择器是一种常见的用户交互组件,它可以帮助用户方便地选取日期和时间,提高输入效率和用户体验。本篇文章将深入探讨jQuery与...
1. **日期选择器(Date Picker)**:允许用户选择一个日期,具有多种预设格式供用户选择,如“年-月-日”、“月/日/年”等。 2. **时间选择器(Time Picker)**:让用户选择一个具体的时间,通常以小时、分钟和秒为...