对应的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控制的动态表格的更多相关文章

  1. JS中的动态表格

    写法一:(有点啰嗦) //--------------XML DOM--------------------------------------function addTR(){ //1.取三个框的值 ...

  2. [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件

    页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...

  3. js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的

    js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...

  4. [JS前端开发] js/jquery控制页面动态载入数据 滑动滚动栏自己主动载入事件

    本人小菜鸟一仅仅.为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,server)等一系列的知识,小菜鸟创建了一个群.希望光临本博客的人能够进来交流.寻求 ...

  5. js如何实现动态的在表格中添加和删除行?(两种方法)

    js如何实现动态的在表格中添加和删除行?(两种方法) 一.总结 1.table元素有属性和一些方法(js使用) 方法一:添加可通过在table的innerHTML属性中添加tr和td来实现 tab.i ...

  6. js如何实现动态克隆一个表格?

    js如何实现动态克隆一个表格? 一.总结 1.通过innerHTML实现表格内容复制, 2.通过表格dom的属性(比如border)实现属性赋值, 3.通过表格dom的样式style实现样式的复制. ...

  7. js如何实现动态在表格中添加标题和去掉标题?

    js如何实现动态在表格中添加标题和去掉标题? 一.总结 1.通过table标签的createCaption(),deleteCaption()方法实现. document.getElementById ...

  8. js的动态表格的增删改查思路

    1. 首先我们要知道,动态添加,肯定不是 在页面上写死得,而是通过js调用循环放入到页面上的,我们在写动态表格的时候不要先着急写,我们第一步要做的就是构思,要把自己的逻辑先弄清楚,不然的话,前面是好写 ...

  9. JS 创建动态表格练习

    创建动态表格 1.1 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...

随机推荐

  1. UITableViewCell 顶格

    首先在ViewDidLoad 或者ViewWillAppear里边写 if ([_tabView respondsToSelector:@selector(setSeparatorInset:)]) ...

  2. rtc关机闹钟2 Alarm manager

    public void set(int type, long triggerAtMillis, long windowMillis, long intervalMillis, PendingInten ...

  3. CodeForces #363 div2 Vacations DP

    题目链接:C. Vacations 题意:现在有n天的假期,对于第i天有四种情况: 0  gym没开,contest没开 1  gym没开,contest开了 2 gym开了,contest没开 3 ...

  4. linux 下 PHP Notice: session_start(): ps_files_cleanup_dir 报错 问题剖析

    如果在ubuntu/Debian下, 采用apt安装的PHP, 那么在使用Session的时候, 就可能会有小概率遇到这个提示. 代码如下: PHP Notice: session_start(): ...

  5. MySQL 性能优化 30个数据库设计的最佳实践

    数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程. ...

  6. js正则表达式大全(2)

    在JAVASCRIPT里面判断一个字符串是否是电子邮件的格式: if(formname.email.value!=formname.email.value.match(/^\w +[@]\w +[.] ...

  7. [并查集] POJ 1611 The Suspects

    The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 35206   Accepted: 17097 De ...

  8. opacity背景层透明导致文字也透明

    如果想要文字和背景分开,即背景透明了,但是文字不影响 解决方法:高级浏览器用background:rgba();来解决 低级浏览器,给文字层加相对定位 http://www.360doc.com/co ...

  9. 【Python】【学习笔记】1.快速入门

    1.软件安装 从官网下载相应版本的安装包,一般不大. https://www.python.org/ 安装一路默认即可 2. 参考教程:快速入门:十分钟学会Python 本文的内容介于教程(Totur ...

  10. jquery 巧用json传参

    JavaScript代码,巧用JSON传参数function AddComment(content) { var comment = {}; comment.threadId = $("#s ...