<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>增加Table行</title>
</head>
<script type="text/javascript" language="javascript">//设置文本框全选
function SlectAll(ckAllValue, chkvalue) {
var ckallObj = document.getElementsByName(ckAllValue);//获取全选项框的obj
var chkObj = document.getElementsByName(chkvalue); //获取要改变的obj
for (var i = 0; i < chkObj.length; i++) {
chkObj[i].checked = ckallObj[0].checked;
}
}
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;
}
//添加一个参与人填写行
function AddSignRow() { //读取最后一行的行号,存放在txtTRLastIndex文本框中
var txtTRLastIndex = findObj("txtTRLastIndex", document);
var rowID = parseInt(txtTRLastIndex.value);
var codevalue=["a","b"];
var namevalue=["c","d"];
var signFrame = findObj("SignFrame", document);
//添加行
var newTR = signFrame.insertRow(signFrame.rows.length);
newTR.id = "SignItem" + rowID;
//添加选者框
var newCkTD=newTR.insertCell(0);
newCkTD.style.width="25px";
newCkTD.innerHTML = "<input id='chk_" + rowID + "' name='chk1' type='checkbox' value='"+rowID+"'/>";
//添加列:序号
//var newNameTD = newTR.insertCell(1);
// newNameTD.style.width="25px";
//添加列内容
// newNameTD.innerHTML =(newTR.rowIndex+1).toString();
//添加列:空港代码
var newNameTD = newTR.insertCell(1);
newNameTD.style.width="100px";
//添加列内容
newNameTD.innerHTML = "<select name='SelCode" + rowID + "' id='SelCode" + rowID + "' ><option value='XYZ'>XYZ</option></select>";
for(var i=0;i<codevalue.length;i++) //添加选择项
{
document.getElementById("SelCode"+rowID).options.add(new Option(codevalue[i],codevalue[i]));
}
document.getElementById("SelCode"+rowID).value="a";
//添加列:空港名称
var newEmailTD = newTR.insertCell(2);
newEmailTD.style.width="100px";
//添加列内容
newEmailTD.innerHTML = "<select name='SelName" + rowID + "' id='SelName" + rowID + "'><option value='dd'>dd</option></select>";
for(var i=0;i<namevalue.length;i++) //添加选择项
{
document.getElementById("SelName"+rowID).options.add(new Option(namevalue[i],namevalue[i]));
}
document.getElementById("SelName"+rowID).value="c";
//将行号推进下一行
txtTRLastIndex.value = (rowID + 1).toString();
}
//删除指定行
function DeleteSignRow(rowid) {
var signFrame = findObj("SignFrame", document);
var signItem = findObj(rowid, document);
//获取将要删除的行的Index
var rowIndex = signItem.rowIndex;
//删除指定Index的行
signFrame.deleteRow(rowIndex);
//重新排列序号,如果没有序号,这一步省略
// for (i = rowIndex+1; i < signFrame.rows.length; i++) {
// signFrame.rows[i].cells[1].innerHTML = i.toString();
// } -->
} //清空列表
function ClearAllSign() {
if (confirm('确定要删除选中的数据吗?')) {
var arrstr=new Array();
var signFrame = findObj("SignFrame", document);
var rowscount = signFrame.rows.length;
var chkvalue=document.getElementsByName("chk1"); //获取选中的行
//循环删除行,从最后一行往前删除
var j =0;//记录是否选择数据
for (i = rowscount -1; i >= 0; i--) {
if(chkvalue[i].checked)//将用户选择的checkbox的值存入数组
{
arrstr.push(chkvalue[i].value);
}
}
for(var i=0;i<arrstr.length;i++)//删除用户选择的记录
{
DeleteSignRow(arrstr[i]);
}
chkvalue=document.getElementsByName("chk1");
for(var i=0;i<chkvalue.length;i++)
{
chkvalue[i].checked=false;
}
//重置最后行号为1
//var txtTRLastIndex = findObj("txtTRLastIndex", document);
// txtTRLastIndex.value = "1";
//预添加一行
//AddSignRow();
}
}
</script>
<body>
<div style="height:20px;width:225px;">
<table border="1" cellpadding="2" cellspacing="0" id="la" style="width:228px;height:100%;font-size:12px;border-collapse:collapse">
<tr id="tr1">
<td bgcolor="#96E0E2" style="width: 25px"><input type="checkbox" name="chkbvalue1"onclick="SlectAll('chkbvalue1','chk1')"></td>
<td bgcolor="#96E0E2" style="width: 100px">空港代码</td>
<td bgcolor="#96E0E2" style="width: 100px">空港名称</td>
</tr>
</table>
</div>
<div style="overflow:scroll;height:200px;width:225px">
<table border="0" cellpadding="2" cellspacing="1" id="blotue" style="width:100%;font-size:12px">
<tr>
<td>
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="2" cellspacing="1" id="SignFrame" style="width: 100%">
</table>
</td>
</tr>
</table>
</div>
<div>
<input type="button" name="Submit" value="增加" onclick="AddSignRow()" />
<input type="button" name="Submit2" value="删除" onclick="ClearAllSign()" />
<input name='txtTRLastIndex' type='hidden' id='txtTRLastIndex' value="1"/>
</div>
</body>
</html>
- 大小: 15.8 KB
分享到:
相关推荐
本篇将详细探讨如何利用jQuery实现表格中checkbox的相关事件操作,包括动态添加行、隔行换色、选中变色、全选与反选等功能。 首先,让我们了解jQuery的基本概念。jQuery是一个快速、简洁的JavaScript库,它简化了...
在网页开发中,表格(Table)是常用的数据展示方式,而复选框(Checkbox)则为用户提供多选功能。在HTML的表格中实现复选框的全选与反选功能,能够大大提升用户体验,使用户可以便捷地选择一组数据。这里我们将详细...
6. jQuery或原生JavaScript操作:可能需要使用jQuery(如果layui项目中已经引入)或原生JavaScript来动态修改DOM元素,以保持复选框的状态。 7. 代码优化:为了提高性能和用户体验,避免不必要的全表重新渲染,我们...
在IT领域,尤其是在Web开发中,用户经常需要对列表中的多项数据进行操作,例如全选、反选和批量删除。这个场景通常涉及到前端交互和后端处理。在本例中,我们将探讨如何利用HTML的`checkbox`元素,JavaScript来实现...
在网页开发中,jQuery是一...这只是一个基础的实现,你还可以根据项目需求进行更复杂的功能扩展,比如添加批量删除、批量编辑等操作。熟悉并掌握jQuery的API,结合实际需求,你将能够构建出更加高效、易用的前端交互。
在本文中,我们将深入探讨如何使用jQuery来获取checkbox选中的值,包括全选、取消全选、反选以及选中奇数行的操作,并讲解如何获取选中的值。 首先,我们需要引入jQuery库。在`1.html`文件中,我们看到包含了一个名...
在这个"JavaScript例子—实现行的增加、删除、全选、反选"的示例中,我们聚焦于表格操作,这是网页数据展示和用户交互的常见方式。下面将详细解释如何使用JavaScript实现这些功能。 首先,全选和反选功能通常是通过...
2. JavaScript事件监听:使用`addEventListener`监听`change`事件,当全选`checkbox`被勾选或取消时触发相应的操作。 3. 全选逻辑:在事件处理函数中,遍历所有关联的`checkbox`,利用`checked`属性设置或清除它们的...
### JavaScript 动态生成 Table 及处理 在现代 Web 开发中,动态生成 HTML 元素是一种非常实用的技术,尤其当涉及到数据展示时,如表格(`<table>`)。通过 JavaScript 动态生成表格可以更加灵活地管理和更新数据。...
在页面上添加一个`<input type="checkbox">`作为全选按钮,当用户点击该按钮时,通过JavaScript遍历所有行中的复选框(假设每个数据行都有一个对应的复选框),并设置它们的状态为选中。例如,你可以添加以下...
()">添加行 function addRow() { var table = document.getElementById("myTable"); var row = table.insertRow(-1); var cell1 = row.insertCell(0); var cell2 = row.insertCell(1); var cell3 = row....
这个功能允许用户选择表格中的特定行,以便进行进一步的操作,如编辑、删除或查看详细信息。下面我们将深入探讨这个话题,包括其原理、实现方法以及相关技术。 1. 表格元素:HTML表格(`<table>`)是网页中用来展示...
在表格的每一行中添加复选框,如`<input type="checkbox" class="selectBox">`,并为它们分配一个共享的类名,以便后续操作。 2. 多选事件处理: 使用`$('.selectBox').click(function() {...})`监听所有复选框的...
本教程将深入讲解如何在HTML表格中实现内容的添加和删除功能,这对于掌握DOM操作和理解JavaScript、CSS及HTML的基础应用至关重要。 首先,我们需要创建一个基本的HTML表格结构。HTML的`<table>`元素是表格的核心,...
### JSP Table 单元格合并 在网页开发中,表格是展示数据的重要方式之一。为了使表格看起来更简洁明了,在某些情况下我们需要对相同的单元格进行合并处理。本篇文章将详细探讨如何在 JSP(JavaServer Pages)环境中...
本主题将深入探讨如何实现“Javascript高级表格操作”,包括动态创建表格、间隔行颜色、鼠标悬停高亮、编辑与删除功能、选择操作以及编辑时的下拉框、单选框和复选框的使用。 首先,让我们从动态创建表格开始。在...
解决这一问题的关键在于调整用于操作CheckBox的JavaScript函数,使其能够正确识别和操作不同浏览器中的DOM元素。具体来说,我们需要修改`selectAll`函数,使其在不同的浏览器环境下都能够正确获取和设置CheckBox的...
// 假设这是一个删除行的函数 P_F = 1; } }); if (P_F == 0) { alert("δѡκβ"); // 这里似乎是一些乱码,正确的提示应该为 "请选择一项" } } ``` #### 五、注意事项 1. **选择器正确性**:确保使用...
在这个场景下,JavaScript(简称js)作为一种客户端脚本语言,可以很好地实现这种交互。本文将详细探讨如何通过JavaScript实现GridView的全选功能,并提供相关代码示例。 首先,我们需要了解JavaScript的基本语法和...