DWRUtil.addrows添加内容后如何用js来编辑
时间:2010-10-12
来源:互联网
我用DWRUtil.addrows在页面重新填充新的数据后,原来对该form中的数据进行操作的js都失效了,哪位大哥有过处理类似的经验能告诉我一下,先谢谢了!
我要做的操作就是对新添加的内容前的checkbox进行全选操作.
js代码实现全选:
function check(field) {
if(typeof(field)!="undefined"){
if (typeof(field.length)=="undefined"){
if (checkflag == "false"){
field.checked=true;
checkflag = "true";
return false;
}
else{
field.checked=false;
checkflag = "false";
return "true";
}
}
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";
return false;
}else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";
return "true";
}
}
}
----------------------------------------------------------------------------
dwr代码实现动态添加新数据:
function classifyByAlphabet(o){
document.getElementById("searchName").value="";
document.getElementById("searchContentCode").value="";
document.getElementById("alphabet").value=o.id;
var currPage=1;
adminDao.getContactListClassifyByAlphabetForDWR(document.getElementById("corpPhone").value,o.id,currPage,classifySharePhone);
}
function classifySharePhone(result){
DWRUtil.removeAllRows("sharephone");
for(var i in result){
var list=result[i];
var cell=[
function(list){
var chkbox=document.createElement("input");
chkbox.type="checkbox";
chkbox.name="delId";
chkbox.value=list.id;
return chkbox;
},
function(list){
return list.corpNumber;
},
function(list){
return list.name;
},
function(list){
return list.phoneNumber;
},
function(list){
return list.email;
},
function(list){
return list.workAddress;
}
];
DWRUtil.addRows("sharephone",list,cell,{
rowCreator:function(options) {
var tr = document.createElement("tr");
tr.style.backgroundColor="#ECF5FF";
return tr;
}
});
}
}
--------------------------------------------------------------------------
相关的html代码,显示数据的地方
<form name="form1" method="post" action="admincreatecontact.do?method=delContact">
<table width="100%" border="0" align="center" cellpadding="1" cellspacing="1" class="f01" >
<tr>
<td colspan="6" bgcolor="#90B4D8">按姓名首字母分类查看:
<font face="Arial, Helvetica, sans-serif">
<%for(int i=0;i<26;i++){%>
<!--
<a href=admincreatecontact.do?method=alphabetCategory&index=<%=((char)(i+65)+"").toLowerCase()%> ><%=((char)(i+65)+"")%></a>
-->
<a href="#" id=<%=((char)(i+65)+"").toLowerCase()%> onclick="classifyByAlphabet(this)" ><%=((char)(i+65)+"")%> </a>
<%}%>
</font>
</td>
</tr>
<tr align="center" bgcolor="#90B4D8">
<td width="5%"> <input type="hidden" id="corpPhone" value="${corpPhone }" /></td>
<td width="10%">分组</td>
<td width="10%">姓名</td>
<td width="25%">默认联系电话</td>
<td width="25%">E-mail邮箱</td>
<td width="25%">工作地址</td>
</tr>
<tbody id="sharephone">
<c:forEach var="phone" items="${phoneList}">
<tr bgcolor="#ECF5FF">
<td align="center"><input type="checkbox" name="delId" id="delId" value="${phone.id}"></td>
<td align="center">${phone.corpNumber}</td>
<td align="center">${phone.name}</td>
<td align="center">${phone.phoneNumber}</td>
<td>${phone.email}</td>
<td>${phone.workAddress}</td>
</tr>
</c:forEach>
</tbody>
<tr bgcolor="#FFFFFF">
<td align="center">
<input type="checkbox" onClick="this.value=check(this.form.delId)">
</td>
<td>全选</td>
</tr>
</table>
</form>
我要做的操作就是对新添加的内容前的checkbox进行全选操作.
js代码实现全选:
function check(field) {
if(typeof(field)!="undefined"){
if (typeof(field.length)=="undefined"){
if (checkflag == "false"){
field.checked=true;
checkflag = "true";
return false;
}
else{
field.checked=false;
checkflag = "false";
return "true";
}
}
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";
return false;
}else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";
return "true";
}
}
}
----------------------------------------------------------------------------
dwr代码实现动态添加新数据:
function classifyByAlphabet(o){
document.getElementById("searchName").value="";
document.getElementById("searchContentCode").value="";
document.getElementById("alphabet").value=o.id;
var currPage=1;
adminDao.getContactListClassifyByAlphabetForDWR(document.getElementById("corpPhone").value,o.id,currPage,classifySharePhone);
}
function classifySharePhone(result){
DWRUtil.removeAllRows("sharephone");
for(var i in result){
var list=result[i];
var cell=[
function(list){
var chkbox=document.createElement("input");
chkbox.type="checkbox";
chkbox.name="delId";
chkbox.value=list.id;
return chkbox;
},
function(list){
return list.corpNumber;
},
function(list){
return list.name;
},
function(list){
return list.phoneNumber;
},
function(list){
return list.email;
},
function(list){
return list.workAddress;
}
];
DWRUtil.addRows("sharephone",list,cell,{
rowCreator:function(options) {
var tr = document.createElement("tr");
tr.style.backgroundColor="#ECF5FF";
return tr;
}
});
}
}
--------------------------------------------------------------------------
相关的html代码,显示数据的地方
<form name="form1" method="post" action="admincreatecontact.do?method=delContact">
<table width="100%" border="0" align="center" cellpadding="1" cellspacing="1" class="f01" >
<tr>
<td colspan="6" bgcolor="#90B4D8">按姓名首字母分类查看:
<font face="Arial, Helvetica, sans-serif">
<%for(int i=0;i<26;i++){%>
<!--
<a href=admincreatecontact.do?method=alphabetCategory&index=<%=((char)(i+65)+"").toLowerCase()%> ><%=((char)(i+65)+"")%></a>
-->
<a href="#" id=<%=((char)(i+65)+"").toLowerCase()%> onclick="classifyByAlphabet(this)" ><%=((char)(i+65)+"")%> </a>
<%}%>
</font>
</td>
</tr>
<tr align="center" bgcolor="#90B4D8">
<td width="5%"> <input type="hidden" id="corpPhone" value="${corpPhone }" /></td>
<td width="10%">分组</td>
<td width="10%">姓名</td>
<td width="25%">默认联系电话</td>
<td width="25%">E-mail邮箱</td>
<td width="25%">工作地址</td>
</tr>
<tbody id="sharephone">
<c:forEach var="phone" items="${phoneList}">
<tr bgcolor="#ECF5FF">
<td align="center"><input type="checkbox" name="delId" id="delId" value="${phone.id}"></td>
<td align="center">${phone.corpNumber}</td>
<td align="center">${phone.name}</td>
<td align="center">${phone.phoneNumber}</td>
<td>${phone.email}</td>
<td>${phone.workAddress}</td>
</tr>
</c:forEach>
</tbody>
<tr bgcolor="#FFFFFF">
<td align="center">
<input type="checkbox" onClick="this.value=check(this.form.delId)">
</td>
<td>全选</td>
</tr>
</table>
</form>
作者: yiyi_2 发布时间: 2010-10-12
我看了下,从整体上来说没有问题,可能某个地方被你忽略了什么。这个逻辑绝对没有问题。
作者: zghbsyqyb 发布时间: 2010-10-12
新内容被添加后,我用js查看过checkbox内容typeof查看的结果是undefined,用document.getElementByName("delId").length查看的结果为0.
也就是说新添加的内容无法被js辨识,这个实在很头痛啊,还有没有哪位大哥有处理类似的问题的经验啊?
也就是说新添加的内容无法被js辨识,这个实在很头痛啊,还有没有哪位大哥有处理类似的问题的经验啊?
作者: yiyi_2 发布时间: 2010-10-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28