自写的可编辑表格,功能比较简单,一时也想不起来还有啥,大家帮测测加评评,再提点意见就好了 支持,不错。加上drag功能更好。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很不错啊!!!不知道在实际中如何做些应用呢?msn:[email protected]交流一下! 忘了说了,行移动是用上下前头来控制的 sulone(晓风寒月) “添加”和“删除”的功能,我会尽快加上的. to 大梅: JK的行移动是怎么样的,代码给我发一下看看效果 function onEvent(src){ oPopup.hide(); var movedRow=selectRow; switch(src.operation){ case "edit": lastClkTd.click(); break; case "refresh": window.location.reload(); break; case "addrowup": addNewRow(0); break; case "addrowdown": addNewRow(1); break; case "delrow": delRow(); break; case "moveup": moveUp(movedRow);break; case "movedown": moveDown(movedRow);break; default: return; } src.style.backgroundColor="scrollbar"; src.style.color="black"; curRow=null; }function addNewRow(flag){ var newrow = element.insertRow(selectRow.rowIndex+flag); for(var i=0;i<element.rows[0].cells.length;i++){ var newcell=newrow.insertCell(); newcell.innerText=" "; } newrow.click();}function delRow(){ element.deleteRow(selectRow.rowIndex); selectRow=null; pointRow=null; lastEdited=null; lastClkTd=null;}function moveRow(){ var src=window.event.srcElement; if(src.tagName.toUpperCase()=="TD") src=src.parentElement; else return; if(pointRow!=null) pointRow.style.backgroundColor="#FFFFFF"; if(src!=selectRow){ pointRow=src; pointRow.style.backgroundColor="#B6D3FC"; }}function clickRow(){ var curTr=null; var e=window.event; var src=e.srcElement; if(src.tagName.toUpperCase()=="TD") curTr=src.parentElement; else return; if(curTr==selectRow){ if(eval(element.rows[0].cells[src.cellIndex].locked)==true){ alert("该列已被锁定,您不能编辑!"); return; } editCell(src); return; } else { if(editEnd()==false) return; } chgRowColor(curTr);}function chgRowColor(curTr){ if(selectRow!=null){ selectRow.style.backgroundColor="#FFFFFF"; selectRow.style.color="#000000"; } selectRow=curTr; selectRow.style.backgroundColor="#0000FF"; selectRow.style.color="#FFFFFF"; pointRow=null;}function cancelMoveRow(){ var src=window.event.srcElement; if(src.tagName.toUpperCase()=="TD") src=src.parentElement; else return; if(pointRow!=null) pointRow.style.backgroundColor="#FFFFFF";}function editCell(tdObj){ if(editEnd()==false) return; var tdText=tdObj.innerText; tdObj.innerHTML='<input type="text" style="width:100%; background-color:#FFFFEF" value="'+tdText+'">'; tdObj.children[0].select(); lastEdited=tdObj;}function editEnd(){ if(lastEdited!=null){ var rs=element.rows; var isPrimary=eval(rs[0].cells[lastEdited.cellIndex].primary); if(isPrimary==true){ if(checkInput()==false){ alert("该列内容不允许重复,请检查并重新输入!"); lastEdited.children[0].select(); return false; } } var val=lastEdited.children[0].value; lastEdited.innerHTML=""; lastEdited.innerText=val; lastEdited=null; } return true;}function checkInput(){ var rs=element.rows; var ci=lastEdited.cellIndex; for(var i=1;i<rs.length;i++){ if(i!=ci && rs[i].cells[ci].innerText==lastEdited.children[0].value) return false; } return true;}function rowUpOrDown(){ //if(lastEdited!=null) editEnd(); if(selectRow==null) return; if(window.event.srcElement.tagName.toUpperCase()=="INPUT") return; var movedRow=selectRow; var kc=window.event.keyCode; if(kc==38) moveUp(movedRow); else if(kc==40) moveDown(movedRow); else return;}function moveUp(mtr){ var ri=mtr.rowIndex; if(ri<=1){ alert("已经是第一行,不能再向上移动!"); return; } exchangeRow(mtr,-1);}function moveDown(mtr){ var ri=mtr.rowIndex; if(ri==element.rows.length-1){ alert("已经是最后一行,不能再向下移动!"); return; } exchangeRow(mtr,1);}function exchangeRow(mtr,riFlag){ var cells=mtr.cells; for(var i=0;i<cells.length;i++){ var td1=cells[i]; var td2=element.rows[mtr.rowIndex+riFlag].cells[i]; var str=td1.innerHTML; td1.innerHTML=td2.innerHTML; td2.innerHTML=str; } element.rows[mtr.rowIndex+riFlag].cells[0].click();}</script> 学习中,不过好麻烦,经常弹出锁定的提示,而且好像没有保存的功能=============================== CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的软件! 界面: http://qqwwee.com/ 下载: http://qqwwee.com/csdn.rar 包含源代码 报element没定义,除了点击当前行变色外,没看到其它的效果 服务器视频文件的播放 jQuery的简单问题 路径问题,急!大家帮帮忙! javascript 如何修改客户端的ie主页啊 求把json字符串转换为json对象的方法 在线,新手求助:移动div框如何区分div滚动条 jsp中如何实现动态下拉框三级联动 隐藏FAME 检验输入框不能通过某些特殊的字符怎么办? 传值问题 给分100 关于全国省市县联动菜单的一个问题请教! 用javascript用修改注册表的代码啊
msn:[email protected]交流一下!
“添加”和“删除”的功能,我会尽快加上的. to 大梅: JK的行移动是怎么样的,代码给我发一下看看效果
function onEvent(src){
oPopup.hide();
var movedRow=selectRow;
switch(src.operation){
case "edit": lastClkTd.click(); break;
case "refresh": window.location.reload(); break;
case "addrowup": addNewRow(0); break;
case "addrowdown": addNewRow(1); break;
case "delrow": delRow(); break;
case "moveup": moveUp(movedRow);break;
case "movedown": moveDown(movedRow);break;
default: return;
}
src.style.backgroundColor="scrollbar";
src.style.color="black";
curRow=null;
}
function addNewRow(flag){
var newrow = element.insertRow(selectRow.rowIndex+flag);
for(var i=0;i<element.rows[0].cells.length;i++){
var newcell=newrow.insertCell();
newcell.innerText=" ";
}
newrow.click();
}
function delRow(){
element.deleteRow(selectRow.rowIndex);
selectRow=null;
pointRow=null;
lastEdited=null;
lastClkTd=null;}
function moveRow(){
var src=window.event.srcElement;
if(src.tagName.toUpperCase()=="TD") src=src.parentElement;
else return;
if(pointRow!=null)
pointRow.style.backgroundColor="#FFFFFF";
if(src!=selectRow){
pointRow=src;
pointRow.style.backgroundColor="#B6D3FC";
}
}
function clickRow(){
var curTr=null;
var e=window.event;
var src=e.srcElement;
if(src.tagName.toUpperCase()=="TD") curTr=src.parentElement;
else return;
if(curTr==selectRow){
if(eval(element.rows[0].cells[src.cellIndex].locked)==true){
alert("该列已被锁定,您不能编辑!");
return;
}
editCell(src);
return;
}
else {
if(editEnd()==false)
return;
}
chgRowColor(curTr);
}
function chgRowColor(curTr){
if(selectRow!=null){
selectRow.style.backgroundColor="#FFFFFF";
selectRow.style.color="#000000";
}
selectRow=curTr;
selectRow.style.backgroundColor="#0000FF";
selectRow.style.color="#FFFFFF";
pointRow=null;
}function cancelMoveRow(){
var src=window.event.srcElement;
if(src.tagName.toUpperCase()=="TD") src=src.parentElement;
else return;
if(pointRow!=null)
pointRow.style.backgroundColor="#FFFFFF";
}
function editCell(tdObj){
if(editEnd()==false) return;
var tdText=tdObj.innerText;
tdObj.innerHTML='<input type="text" style="width:100%; background-color:#FFFFEF" value="'+tdText+'">';
tdObj.children[0].select();
lastEdited=tdObj;
}
function editEnd(){
if(lastEdited!=null){
var rs=element.rows;
var isPrimary=eval(rs[0].cells[lastEdited.cellIndex].primary);
if(isPrimary==true){
if(checkInput()==false){
alert("该列内容不允许重复,请检查并重新输入!");
lastEdited.children[0].select();
return false;
}
}
var val=lastEdited.children[0].value;
lastEdited.innerHTML="";
lastEdited.innerText=val;
lastEdited=null;
}
return true;
}function checkInput(){
var rs=element.rows;
var ci=lastEdited.cellIndex;
for(var i=1;i<rs.length;i++){
if(i!=ci && rs[i].cells[ci].innerText==lastEdited.children[0].value)
return false;
}
return true;
}function rowUpOrDown(){
//if(lastEdited!=null) editEnd();
if(selectRow==null) return;
if(window.event.srcElement.tagName.toUpperCase()=="INPUT") return;
var movedRow=selectRow;
var kc=window.event.keyCode;
if(kc==38) moveUp(movedRow);
else if(kc==40) moveDown(movedRow); else return;
}
function moveUp(mtr){
var ri=mtr.rowIndex;
if(ri<=1){ alert("已经是第一行,不能再向上移动!"); return; }
exchangeRow(mtr,-1);
}
function moveDown(mtr){
var ri=mtr.rowIndex;
if(ri==element.rows.length-1){ alert("已经是最后一行,不能再向下移动!"); return; }
exchangeRow(mtr,1);
}
function exchangeRow(mtr,riFlag){
var cells=mtr.cells;
for(var i=0;i<cells.length;i++){
var td1=cells[i];
var td2=element.rows[mtr.rowIndex+riFlag].cells[i];
var str=td1.innerHTML;
td1.innerHTML=td2.innerHTML;
td2.innerHTML=str;
}
element.rows[mtr.rowIndex+riFlag].cells[0].click();
}
</script>
CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的
软件!
界面: http://qqwwee.com/
下载: http://qqwwee.com/csdn.rar 包含源代码