JS控制的动态表格
对应的js:
function pccAddSignRow() { //读取最后一行的行号,存放在LearnTRLastIndex文本框中
var pccTRLastIndex = findObj("pccTRLastIndex", document);
var rowID = parseInt(pccTRLastIndex.value);
var signFrame = findObj("pcc", document);
//添加行
var newTR = signFrame.insertRow(signFrame.rows.length);
newTR.id = "pccItem" + rowID;
//添加列:产品名称
//添加列内容
var h = '<option >请选择省</option>';
var id = 1;
var io = "txtPro" + rowID;
var tio = "txtCity" + rowID;
var oio = "txtCounty" + rowID;
callBizAPI("AddProvince", {//调用ajax获取数据
id: id
}, function (result) {//得到结果后:
for (var i in result) {
var iif = result[i].AreaId;
var ifro = result[i].AreaName;
h += '<option value="' + iif + '">' + ifro + '</option>';
}
var newNameTD = newTR.insertCell(0);
newNameTD.innerHTML = "<select class=\"txtW95\" id='txtPro" + rowID + "' onchange=\"addcityCopy('" + io + "','" + rowID + "')\" >'" + h + "'</select>";
//添加列:说明
var newNameTD = newTR.insertCell(1);
//添加列内容
newNameTD.innerHTML = "<select class=\"txtW95\" id='" + tio + "' onchange=\"addcountyCopy('" + tio + "','" + rowID + "')\" ></select>";
var newNameTD = newTR.insertCell(2);
//添加列内容
newNameTD.innerHTML = "<select class=\"txtW95\" id='txtCounty" + rowID + "'></select>";
//添加列:操作按钮
var newDeleteTD = newTR.insertCell(3);
//添加列内容 <button class='toolbtn' id='add" + rowID + "' onclick=\"pccAddSignRow()\"><img src='images/plus.png' />添加</button>
if (iii >= 2) {
var currentBtn = document.getElementById("add0");
currentBtn.style.display = "none";
newDeleteTD.innerHTML = "<button class='toolbtn' onclick=\"pccDeleteRow('pccItem" + rowID + "')\" ><img src='images/del.png'/>删除</button>"
}
else {
newDeleteTD.innerHTML = "<button class='toolbtn' onclick=\"pccDeleteRow('pccItem" + rowID + "')\" ><img src='images/del.png'/>删除</button>"
}
//将行号推进下一行
pccTRLastIndex.value = (rowID + 1).toString();
}
)
}
function pccDeleteRow(rowid) {
var signFrame = findObj("pcc", document);
var signItem = findObj(rowid, document);
//获取将要删除的行的Index
var rowIndex = signItem.rowIndex;
//删除指定Index的行
signFrame.deleteRow(rowIndex);
var currentBtn = document.getElementById("add0");
currentBtn.removeAttribute("style");
}
function findObj(theObj, theDoc) {
var p, i, foundObj;
if (!theDoc) theDoc = document;
if ((p = theObj.indexOf("?")) > 0 && parent.frames.length) {
theDoc = parent.frames[theObj.substring(p + 1)].document;
theObj = theObj.substring(0, p);
}
if (!(foundObj = theDoc[theObj]) && theDoc.all)
foundObj = theDoc.all[theObj];
for (i = 0; !foundObj && i < theDoc.forms.length; i++)
foundObj = theDoc.forms[i][theObj];
for (i = 0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)
foundObj = findObj(theObj, theDoc.layers[i].document);
if (!foundObj && document.getElementById)
foundObj = document.getElementById(theObj);
return foundObj;
}
对应的aspx:
<table cellpadding="0" cellspacing="0" border="0" align="center" class="tab_add" id="pcc">
<tr>
<th>省(直辖市)</th>
<th>市</th>
<th>县(区)</th>
<th>操作</th>
</tr>//设置第一行要显示的东西
<tr>
<td>
<select id="province" class="txtW95" onchange="addCity();">
<option value="">请选择省</option>
<%foreach (var item in base.DataProvider.CountyOrArea.Where(t => t.SuperiorEncoding == "").OrderBy(t => t.AreaCode))
{%>//服务端填充下拉框的项
<option value="<%=item.AreaId %>"><%=item.AreaName %></option>
<%} %>
</select>
</td>
<td>
<select id="city" class="txtW95" onchange="addCounty();">
</select></td>
<td>
<select id="county" class="txtW95">
</select></td>
<td style="width: 25%">
<button class="toolbtn" id="add0" onclick="pccAddSignRow();">
<img src="data:images/plus.png" />添加</button>
<button class="toolbtn" onclick="cpDeleteRow('cpItem0');">
<img src="data:images/del.png" />删除</button>
<input name='pccTRLastIndex' type='hidden' id='pccTRLastIndex' value="1" />//隐藏记录行号
</td>
</tr> </table>
JS控制的动态表格的更多相关文章
- JS中的动态表格
写法一:(有点啰嗦) //--------------XML DOM--------------------------------------function addTR(){ //1.取三个框的值 ...
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...
- js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...
- [JS前端开发] js/jquery控制页面动态载入数据 滑动滚动栏自己主动载入事件
本人小菜鸟一仅仅.为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识,小菜鸟创建了一个群.希望光临本博客的人能够进来交流.寻求 ...
- js如何实现动态的在表格中添加和删除行?(两种方法)
js如何实现动态的在表格中添加和删除行?(两种方法) 一.总结 1.table元素有属性和一些方法(js使用) 方法一:添加可通过在table的innerHTML属性中添加tr和td来实现 tab.i ...
- js如何实现动态克隆一个表格?
js如何实现动态克隆一个表格? 一.总结 1.通过innerHTML实现表格内容复制, 2.通过表格dom的属性(比如border)实现属性赋值, 3.通过表格dom的样式style实现样式的复制. ...
- js如何实现动态在表格中添加标题和去掉标题?
js如何实现动态在表格中添加标题和去掉标题? 一.总结 1.通过table标签的createCaption(),deleteCaption()方法实现. document.getElementById ...
- js的动态表格的增删改查思路
1. 首先我们要知道,动态添加,肯定不是 在页面上写死得,而是通过js调用循环放入到页面上的,我们在写动态表格的时候不要先着急写,我们第一步要做的就是构思,要把自己的逻辑先弄清楚,不然的话,前面是好写 ...
- JS 创建动态表格练习
创建动态表格 1.1 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
随机推荐
- win7优化
- TortoiseGit流程安装使用手册
end if
- 荣品RP4412开发板烧写Ubuntu系统应注意SD卡内存大些
问:RP4412开发板用SD卡烧写光盘中的fastboot失败,现在如何补救呢? 答:INAND格式化, 利用usb来升级啊, 也有文档,看升级文档. 问: 这个是怎么回事? 答:你是升级什么系统? ...
- ios 重签名
http://stackoverflow.com/questions/6569120/resigning-an-application-outside-xcode #!/bin/sh TEMPDIR= ...
- HTML中强大的input标签属性
用了许久的html,<input>这个标签是最常用的标签之一. <input type="">标签中type属性是必不可少的,以往我最常用的有 type=& ...
- NodeJs使用asyncAwait两法
async/await使用同步的方式来书写异步代码,将异步调用的难度降低到接近于0,未来必将大放异彩.然而在当下,由于标准化的缓存步伐,async/await尚在ES7的草案中.为了尝先,特试用了下面 ...
- asp.net webForm登录授权
HttpCookie cookie; cookie = FormsAuthentication.GetAuthCookie(W3Account, isRemberMe); if (isRemberMe ...
- Spark-1.5.1 on CDH-5.4.7
1.修改拷贝/root/spark-1.5.1-bin-hadoop2.6/conf下面spark-env.sh.template到spark-env.sh,并添加设置HADOOP_CONF_DIR: ...
- SpringMVC-DispatcheServlet
1 HandlerMapping->HandlerAdapter->ViewResolver ->HandlerExceptionResolver 2
- Apache RewriteRule
1.Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基 于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式.如果要想用到rewrite模块 ...