你可以用全局变量记录下最后一次操作的对象和事件
在这里好像只有checkbox,事件只有onclick,那么只要记录下对象就可以了想恢复是不是再触发一下这个对象的onclick事件就可以了chk.click(),就反过来了关于日期的常见操作
http://community.csdn.net//Expert/TopicView2.asp?id=4360247&datebasetype=now
js FAQ贴
http://community.csdn.net//Expert/TopicView2.asp?id=4356360&datebasetype=now
DHTML手册,js手册,dom手册下载,梅花雪的树和日期控件
梅雪香的日期控件.
http://community.csdn.net//Expert/TopicView2.asp?id=4356325&datebasetype=now
在这里好像只有checkbox,事件只有onclick,那么只要记录下对象就可以了想恢复是不是再触发一下这个对象的onclick事件就可以了chk.click(),就反过来了关于日期的常见操作
http://community.csdn.net//Expert/TopicView2.asp?id=4360247&datebasetype=now
js FAQ贴
http://community.csdn.net//Expert/TopicView2.asp?id=4356360&datebasetype=now
DHTML手册,js手册,dom手册下载,梅花雪的树和日期控件
梅雪香的日期控件.
http://community.csdn.net//Expert/TopicView2.asp?id=4356325&datebasetype=now
<!--
var opStack = new Array();function fncSelectAll(obj){
opStack.push(window.event.srcElement);
if (obj.name=="AllBox")
{
var objS=document.getElementsByTagName("input")
for (var j=1;j<objS.length;j++)
{
if (objS[j].type=="checkbox"){
objS[j].checked=obj.checked;}
}
}
else
{
var objs=document.getElementsByName(obj.name+"Sub");
// if(!objs.length) objs.checked=obj.checked;
for(var i=0;i<objs.length;i++)
{
objs[i].checked=obj.checked;
}
fncFirstCheckbox();
}
}function fncCheckIt(obj){
opStack.push(window.event.srcElement);
var objs=document.getElementsByName(obj.name+"Sub");
for(var i=0;i<objs.length;i++){
if (objs[i].checked==false){
obj.checked=false;break;
}
else{
obj.checked=true;
}
}
fncFirstCheckbox();
}function fncFirstCheckbox(){ var objs=document.getElementsByTagName("input")
for(var i=1;i<objs.length;i++){
if (objs[i].checked==false){
objs[0].checked=false;break;
}
else{
objs[0].checked=true;
}
}
}function fncWhat(){
if(opStack.length==0) return;
var obj = opStack.pop();
obj.click();
opStack.pop();
}
</script><form name="frm1">
<input type="checkbox" name="AllBox" id ="firstCheck"onclick="fncSelectAll(this);">all
<hr width="1%" align="left" color="red">
<br>
A:<input type="checkbox" name="ABox" onclick="fncSelectAll(this);">
<input type="checkbox" name="ABoxSub" onclick="fncCheckIt(ABox);">A1
<input type="checkbox" name="ABoxSub" onclick="fncCheckIt(ABox);">A2
<input type="checkbox" name="ABoxSub" onclick="fncCheckIt(ABox);">A3
<input type="checkbox" name="ABoxSub" onclick="fncCheckIt(ABox);">A4
<br/><br/>
B:<input type="checkbox" name="BBox" onclick="fncSelectAll(this)">
<input type="checkbox" name="BBoxSub" onclick="fncCheckIt(BBox);">B1
<br/><br/>
C:<input type="checkbox" name="CBox" onclick="fncSelectAll(this)">
<input type="checkbox" name="CBoxSub" onclick="fncCheckIt(CBox);">C1
<input type="checkbox" name="CBoxSub" onclick="fncCheckIt(CBox);">C2
<br><br><br>
<input type="button" value="回復前一操作" onclick="fncWhat();">
</form>
改了一下,不过有问题,因为你这里的checkbox有相互影响关系的,所以想做的完整需要设计一下算法. 起码应该是对前边的对象进行检查是不是会影响到当前要恢复的对象的状态.这又需要写代码来确定是两个对象是否有关联,反正比较复杂,我一半会儿也没想明白.
你自己再想想吧