社区
JavaScript
帖子详情
不刷新页面,如何做到改变表格中行的编辑状态
dechon
2005-12-05 03:27:39
有一个TABLE,第一行是个Radio Button,,后面是一些显示的文本信息.在点击Radio Button后,将该行对应的文本变成TEXT框进行编辑(只有选中的行是可编辑的).以前做的是在点击按钮后进行提交刷新页面,现在改成不刷新页面,请问有什么好的实现方法?
...全文
305
12
打赏
收藏
不刷新页面,如何做到改变表格中行的编辑状态
有一个TABLE,第一行是个Radio Button,,后面是一些显示的文本信息.在点击Radio Button后,将该行对应的文本变成TEXT框进行编辑(只有选中的行是可编辑的).以前做的是在点击按钮后进行提交刷新页面,现在改成不刷新页面,请问有什么好的实现方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dechon
2005-12-08
打赏
举报
回复
最终的解决参见:http://www.blogjava.net/dechon/archive/2005/12/08/22957.html
dechon
2005-12-07
打赏
举报
回复
已经解决了.马上结贴.
dechon
2005-12-07
打赏
举报
回复
最后采用的是meizz的方法.不过,也遇到很多问题.比如不是所有的列都变成可编辑状态,另外,如果显示的信息中含有HTML字符的话, 用a[k].outerHTML = a[k].value是有问题的.由于有一些验证是通过后台来完成的,在检验不通过的情况下还要保持提交前输入的值等等,不过最后还是搞定了.^_^
JK_10000
2005-12-05
打赏
举报
回复
<table border=1 width=100%>
<tr>
<td><input name=m type=checkbox onclick="mm(this)"></td>
<td>1111</td>
<td><input name=aaa value="222" disabled></td>
<td><input name=bbb value="333" disabled></td>
</tr>
<tr>
<td><input name=m type=checkbox onclick="mm(this)"></td>
<td>1111</td>
<td><input name=aaa value="222" disabled></td>
<td><input name=bbb value="333" disabled></td>
</tr>
<tr>
<td><input name=m type=checkbox onclick="mm(this)"></td>
<td>1111</td>
<td><input name=aaa value="222" disabled></td>
<td><input name=bbb value="333" disabled></td>
</tr>
</table>
<SCRIPT LANGUAGE="JavaScript">
function mm(e)
{
var currentTr=e.parentElement.parentElement;
var inputObjs=currentTr.getElementsByTagName("input");
for(var i=0;i<inputObjs.length;i++)
{
if(inputObjs[i]==e) continue;
inputObjs[i].disabled=!e.checked;
}
}
</SCRIPT>
MrYou
2005-12-05
打赏
举报
回复
迷糊了,只读的不向后台传就可以了阿
dechon
2005-12-05
打赏
举报
回复
不是改不改的问题,是有的列不允许修改的,相当于是只读的.
MrYou
2005-12-05
打赏
举报
回复
关于有的改有的不改,懒人的办法是不管改没改,都用新的覆盖掉旧的 :)
dechon
2005-12-05
打赏
举报
回复
回: MrYou(菜鸟飞飞)
接下来就是可以更改可编辑部分的内容,然后就是提交到后台了.
dechon
2005-12-05
打赏
举报
回复
首先感谢上面两位的回答.
这样解决了将文本信息改变成编辑框,但文本中的信息是要提交的,如果将各个字段与FORM中对应起来?另外,一行中可能只有部分要改变编辑状态,有的列还是显示为文本不需要改变.是否每个单元格要做一下标记才能做到?
meizz
2005-12-05
打赏
举报
回复
<table border=1 width=100%>
<tr>
<td><input name=m type=radio onclick="mm(this)"></td>
<td>1111</td>
<td>2222</td>
<td>3333</td>
</tr>
<tr>
<td><input name=m type=radio onclick="mm(this)"></td>
<td>1111</td>
<td>2222</td>
<td>3333</td>
</tr>
<tr>
<td><input name=m type=radio onclick="mm(this)"></td>
<td>1111</td>
<td>2222</td>
<td>3333</td>
</tr>
</table>
<SCRIPT LANGUAGE="JavaScript">
window.SearchByTagName = function(e, TAG)
{
while(e!=null && e.tagName){
if(e.tagName==TAG.toUpperCase()) return(e);
e = e.parentNode; } return null;
}
var _g = -1; //global
function mm(e)
{
var td = SearchByTagName(e, "TD");
var tr = td.parentNode;
var tab = SearchByTagName(tr, "TABLE");
if(_g>=0)
{
for(var i=td.cellIndex+1; i<tab.rows[_g].cells.length; i++)
{
var a = tab.rows[_g].cells[i].getElementsByTagName("INPUT");
for(var k=0; k<a.length; k++)
{
if(a[k].type=="text")
{
a[k].outerHTML = a[k].value; //就这句代码不能被非IE浏览器兼容
}
}
}
} _g = tr.rowIndex;
for(var i=td.cellIndex+1; i<tr.cells.length; i++)
{
tr.cells[i].innerHTML = "<input style='width: 100%' value='"+ tr.cells[i].innerHTML +"'>";
}
}
</SCRIPT>
harryCom
2005-12-05
打赏
举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
var row = -1;
function showEdit(obj){
var cell2 = obj.parentNode.parentNode.childNodes[1];
var rowIndex = obj.parentNode.parentNode.rowIndex;
cell2.innerHTML = "<input type='text' value='"+ cell2.innerHTML +"'>";
if(row != -1){
var oldCell2 = document.getElementById("tb").rows[row].cells[1];
oldCell2.innerHTML = oldCell2.childNodes[0].value;
}
row = rowIndex;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<TABLE id="tb">
<TR>
<TD><input type="radio" onclick="showEdit(this)" name="rad"></TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD><input type="radio" onclick="showEdit(this)" name="rad"></TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD><input type="radio" onclick="showEdit(this)" name="rad"></TD>
<TD></TD>
<TD></TD>
</TR>
</TABLE>
</BODY>
</HTML>
MrYou
2005-12-05
打赏
举报
回复
一开始是个单元格?点中Radio Button后变成text框?然后呢?
如何在Layui框架中实现列表操作后返回
编辑
页面并带参数刷新表单
本文围绕在Layui框架中实现列表操作后返回
编辑
页面并带参数刷新表单展开。先介绍Layui框架特点及此功能需求,接着阐述实现步骤,包括执行
编辑
操作、带参数重定向、解析参数、刷新表单或
表格
,还提及其他方案,最后总结实现关键点,助于构建灵活高效前端逻辑。
Layui
表格
刷新(重载)
本文详细介绍了使用Layui框架进行
表格
刷新的方法,包括
表格
容器定义、添加
编辑
删除刷新的不同方式,以及如何保留或不保留搜索框的搜索信息。同时,还讲解了搜索按钮的设置与两种搜索刷新方式,提供了具体的代码示例。
使用layui
表格
的时候,修改子页面数据,随时刷新父页面
本文介绍了一个使用layui框架实现在双击
表格
行时打开详情子页面,并在子页面
编辑
数据后能够只刷新父页面
表格
的方法。通过监听
表格
双击事件,利用layui的admin模块打开新窗口并传递数据,在子窗口中
编辑
数据后,父窗口会自动刷新
表格
,提高用户体验。
layui数据
表格
编辑
完,刷新数据
在使用layui开发中,遇到
表格
数据修改后无法显示更新内容的问题。通过查阅layui文档,找到了解决方案。主要涉及方法级渲染和AJAX请求来实现
表格
数据的刷新。
element实现当前页面/
表格
刷新方法
本文介绍了在Vue+Element-UI项目中如何实现页面或
表格
的刷新。通过在App.vue中设置`isRouterAlive`
状态
,并在需要刷新的页面中注入`reload`方法,可以避免重复请求后台接口。当需要刷新时,简单调用`this.reload()`即可更新视图。
JavaScript
87,988
社区成员
224,684
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章