会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132647个问题

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			body{
				background-color: aquamarine;
			}
		</style>
		
		<script>
			// *****************************用户名校证******************************************
			function checkName(){
				// 获取输入的值
				var name = document.getElementById("userName").value;
				// 获取到nameSpan对象
				var span = document.getElementById("nameSpan");
				// 汉字的正则表达式
				var reg = /^[\u4e00-\u9fa5]{1,6}$/;
				// 验证输入值是否为空
				if(name == null || name == ""){
					span.style.color = "red";
					span.innerText = "用户名不能为空";
					return false;
				}else if(reg.test(name)){
					span.style.color = "green";
					span.innerText = "用户名输入正确";
					return true;
				}else{
					span.style.color = "red";
					span.innerText = "用户名输入错误";
					return false;
				}
			}
			
			// **************************************密码校验***********************************
			function checkPwd(){
				// 获取输入的密码
				var value = document.getElementById("pwd").value;
				// 获取密码里的span对象
				var span = document.getElementById("pwdSpan");
				// 数字正则表达式
				var reg = /^-?[1-9]{6,12}$/;
				// 验证是否为空已经合法性
				if(value == null || value == ""){
					span.style.color = "red";
					span.innerText = "密码不能为空"
					return false;
				}else if(reg.test(value)){
					span.style.color = "green";
					span.innerText = "密码输入正确"
					return true;
				}else{
					span.style.color = "red";
					span.innerText = "密码输入错误"
					return false;
				}
			}
			
			// ***************************************通用校验*********************************************
			function check(id,reg){
				var user = document.getElementById(id);
				var value = user.value;
				var alt = user.alt;
				var span = document.getElementById(id + "Span");
				if(value == null || value == ""){
					span.style.color = "red";
					span.innerText = alt + "不能为空";
					return false;
				}else if(reg.test(value)){
					span.style.color = "green";
					span.innerText = alt + "输入正确";
					return true;
				}else{
					span.style.color = "red";
					span.innerText = alt + "输入错误";
					return false;
				}
			}
			
			// **********************************国内电话号校验*************************************
			function checkTelephone(){
				var reg = /^[0-9]{11}$/;
				check("telephone",reg);
			}
			
			// *************************************邮箱校验************************************
			function checkEmail(){
				var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
				check("email",reg);
			}
			
			// *************************************性别校验*************************************
			function checkSex(){
				// 通过name获取所有对象
				var sex = document.getElementsByName("sex");
				// 获取span对象
				var span = document.getElementById("sexSpan");
				for(var i in sex){
					// checked判断是否选中了(return用来结束循环)
					if(sex[i].checked){
						span.style.color = "green";
						span.innerText = "选择完成";
						return true;
					}
				}
				span.style.color = "red";
				span.innerText = "请选择性别";
				return false;
			}
			
			// ***********************************爱好校验***********************************
			function checkHobby(){
				// 通过name获取所有对象
				var hobby = document.getElementsByName("dx");
				//获取span对象
				var span = document.getElementById("hobbySpan");
				for(var i in hobby){
					if(hobby[i].checked){
						span.style.color = "green";
						span.innerText = "选择完成";
						return true;
					}
				}
				span.style.color = "red";
				span.innerText = "请选择";
				return false;
			}
			
			// *******************************籍贯校验*******************************************
			function checkAddress(){
				// 获取对象的value值
				var value = document.getElementById("address").value;
				// 获取span对象
				var span = document.getElementById("addressSpan");
				if(value == 0){
					span.style.color = "red";
					span.innerText = "请选择";
					return false;
				}else{
					span.style.color = "green";
					span.innerText = "选择完成";
					return true;
				}
			}
		
			// *****************************验证码生成**************************************
			var number
			function YZM(){
				// 获取sapn对象
				var span = document.getElementById("yzmSpan");
				// 生成四位随机数字
				number = Math.ceil(Math.random() * 9000 + 1000);
				// 把生成数字写入
				span.innerText = number;
			}
			
			// ***********************************验证码校验**********************
			function checkYZM(){
				// 获取验证码对象输入的值
				var value = document.getElementById("yzm").value;
				// 获取span对象
				var span = document.getElementById("checkSpan2");
				if(value == number){
					span.style.color = "green";
					span.innerText = "验证码输入正确";
					return true;
				}else{
					span.style.color = "red";
					span.innerText = "验证码输入错误";
					return false;
				}
			}
			
			// **********************************选择框校验*************************************
			function checkAgree(){
				// 获取选择框对象
				var checkbox = document.getElementById("check");
				// 获取按钮对象
				var submit = document.getElementById("sub");
				// 判断是否被勾选了
				if(checkbox.checked){
					submit.disabled = false;
				}else{
					submit.disabled = true;
				}
			}
			
			// ************************************提交的总校验*****************************************
			function all(){
				var flag = checkName()&&checkPwd()&&checkTelephone()&&checkEmail()&& checkSex()&&checkHobby()&&checkAddress()&&checkYZM();
				return flag;
			}
		</script>
	</head>
	<body onload="YZM()">
		<center>
			<h1>注册页面</h1>
			<hr >
		<form action="" method="get" onsubmit="return all()" >
			<table>
				<tr height="30px">
					<td width="150px">用户名:</td>
					<td>
						<input type="text" id="userName" onblur="checkName()"/>
						<span id="nameSpan">请输入1~6位的汉字</span>
					</td>
				</tr>
				<tr height="30px">
					<td>密码:</td>
					<td>
						<input type="password"  id="pwd" onblur="checkPwd()"/>
						<span id="pwdSpan">请输入6~12位数字</span>
					</td>
				</tr>
				<tr height="30px">
					<td>手机号:</td>
					<td>
						<input type="text" alt="手机号" id="telephone" onblur="checkTelephone()"/>
						<span id="telephoneSpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>邮箱:</td>
					<td>
						<input type="email" alt="邮箱" id="email" onblur="checkEmail()"/>
						<span id="emailSpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>性别:</td>
					<td>
						男:<input type="radio" value="0" name="sex" onclick="checkSex()"/>
						女:<input type="radio" value="1" name="sex" onclick="checkSex()"/>
						<span id="sexSpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>爱好:</td>
					<td>
						<input type="checkbox" value="1" name="dx" onclick="checkHobby()"/>游戏
						<input type="checkbox" value="2" name="dx" onclick="checkHobby()"/>漫画
						<input type="checkbox" value="3" name="dx" onclick="checkHobby()"/>篮球
						<input type="checkbox" value="4" name="dx" onclick="checkHobby()"/>读书
						<input type="checkbox" value="5" name="dx" onclick="checkHobby()"/>听歌
						<input type="checkbox" value="6" name="dx" onclick="checkHobby()"/>蹦迪
						<span id="hobbySpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>籍贯</td>
					<td>
						<select id="address" onchange="checkAddress()">
							<option value="0">--请选择--</option>
							<option value="1">海贼王</option>
							<option value="2">火影忍者</option>
							<option value="3">刺客信条</option>
							<option value="4">LOL</option>
							<option value="5">斗罗大陆</option>
							<option value="6">斗破苍穹</option>
						</select>
							<span id="addressSpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>验证码</td>
					<td>
						<input type="text" id="yzm" onblur="checkYZM()"/>
						<span id="yzmSpan"></span>
						<span id="checkSpan2"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>个人介绍</td>
					<td>
						<textarea rows="20" cols="30"></textarea>
					</td>
				</tr>
				<tr height="30px">
					<td colspan="2" align="center">
						<input type="checkbox" id="check" onclick="checkAgree()"/>
						<span>是否同意本公司协议</span>
					</td>
				</tr>
				<tr height="30px">
					<td colspan="2" align="center">
						<!-- disabled是不可用的意思,可以看 -->
						<input type="submit" value="注册" disabled="true" id="sub"/>
					</td>
				</tr>
			</table>
		</form>
		</center>
	</body>
</html>
<!-- 正则表达式:正则表达式是对于数据格式进行一定的规范限制
	^:开始
	[0-9]  [a-z A-Z] :数字  字母
	{2,4} :段域 至少是2位  最多是4位
	{3}:指定范围就是3位
	{2,}:至少是2位
	$:结束
	\d:[0-9]
	\w[0-9 a-z A-Z] -->

老师所有的验证都可以,但就是最后汇总提交的时候没有作用直接就可以提交,什么原因?????

JAVA 全系列/第四阶段:网页编程和设计/Javascript 语言(旧) 76楼
JAVA 全系列/第四阶段:网页编程和设计/JavaScript语言 79楼
JAVA 全系列/第四阶段:网页编程和设计/CSS3 80楼
JAVA 全系列/第四阶段:网页编程和设计/Javascript 语言(旧) 81楼
JAVA 全系列/第四阶段:网页编程和设计/CSS3 82楼

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			tr{
				height: 70px;
			}
			
			td,th{
				width: 150px;
				text-align: center;
			}
		</style>
		
		<script>
		// *********************添加函数*************************************
			function addNode(){
				// 获取表格对象
				var table = document.getElementById("table_1");
				
				// 创建tr对象
				var tr = document.createElement("tr");
				
				// 创建td对象(onblur是失去焦点事件)
				var td1 = document.createElement("td");
				td1.innerHTML = "<input type='text' size='10px' onblur='lose(this)' />";
				
				var td2 = document.createElement("td");
				td2.innerHTML = "<input type='text' size='10px' onblur='lose(this)' />";
				
				var td3 = document.createElement("td");
				td3.innerHTML = "<input type='button' value='添加' onclick='addNode()' />" +
								"<input type='button' value='删除' onclick='deleteNode(this)' />";
				
				// 添加
				table.appendChild(tr);
				tr.appendChild(td1);
				tr.appendChild(td2);
				tr.appendChild(td3);
				
			}
			
			// **********************************删除函数****************************************
			function deleteNode(th){
				// 获取父类对象(th是input对象,要获取到tr对象需要获取两次父类)
				var tr = th.parentNode.parentNode;
				
				// 删除
				tr.remove();
			}
			
			// ****************************失去焦点事件***********************************************
			function lose(th){
				// 获取到父类节点td
				var td = th.parentNode;
				// 把子节点input的值给到td
				td.innerText = th.value;
			}
		</script>
	</head>
	<body>
		<table align="center" border="1px" id="table_1">
			<tr>
				<th>图书名称</th>
				<th>图书价格</th>
				<th>操作</th>
			</tr>
			<tr>
				<td>海贼王</td>
				<td>9999</td>
				<td>
					<input type="button" value="添加" onclick="addNode()" />
					
					<input type="button" value="删除" onclick="deleteNode()" />
				</td>
			</tr>
			<tr>
				<td>火影忍者</td>
				<td>6999</td>
				<td>
					<input type="button" value="添加" onclick="addNode()" />
					
					<input type="button" value="删除" onclick="deleteNode()" />
				</td>
			</tr>
		</table>
	</body>
</html>

老师,初始化里的两个也给了删除操作,但是就是没有反应为什么???

JAVA 全系列/第四阶段:网页编程和设计/Javascript 语言(旧) 83楼
JAVA 全系列/第四阶段:网页编程和设计/JavaScript语言 85楼
JAVA 全系列/第四阶段:网页编程和设计/HTML5(旧) 87楼

请教老师,为什么跟着代码走,数量还是没有统计起来?

html代码:

<!DOCTYPE html>
<html>
	<head>
		<link rel="stylesheet" type="text/css" href="css/reset.css"/>
		<link rel="stylesheet" type="text/css" href="css/jd.css"/> 
		<link rel="stylesheet" type="text/css" href="icon/iconfont.css"/>
		<meta charset="utf-8" />
		<title>购物车</title>
		<script src="js/jd.js" type="text/javascript"></script>
	</head>
	<body>
		<!-- 导航开始 -->
		<div class="nav">
			<div class="warp">
				<ul class="nav_ul1">
					<li><a href="#"><i class="iconfont">&#xe663;</i>京东首页</a></li>
					<li><a href="#">配送至:北京</a></li>
				</ul>
				<ul class="nav_ul2">
					<li><a href="#">洋洋宝贝</a><span>|</span></li>
					<li><a href="#">我的订单</a><span>|</span></li>
					<li><a href="#">我的京东</a><span>|</span></li>
					<li><a href="#">京东会员</a><span>|</span></li>
					<li><a href="#">企业采购</a><span>|</span></li>
					<li><a href="#">京东手机</a><span>|</span></li>
					<li><a href="#">关注京东</a><span>|</span></li>
					<li><a href="#">客服服务</a><span>|</span></li>
					<li><a href="#">网站导航</a></li>
				</ul>
			</div>
		</div>
		<!-- 导航结束 -->
		
		<!-- 搜索框开始 -->
		<div class="search">
			<div class="warp">
				<img src="img/logo.jpg" >
				<div class="search_div">
					<input type="text" class="search_text" />
					<input type="button" value="搜索" class="search_button" />
				</div>
			</div>
		</div>
		<!-- 搜索框结束 -->
		
		<!-- 标题开始 -->
		<div class="title warp">
			<h3>全部商品</h3>
			<div>
				<span>配送至:</span>
				<select>
					<!-- <option >--请选择--</option> -->
					<option >朝阳区</option>
					<option >昌平区</option>
					<option >大兴区</option>
					<option >顺义区</option>
					<option >城东区</option>
				</select>
			</div>
		</div>
		<!-- 标题结束 -->
		
		<!-- 显示菜单的开始 -->
		<div class="tips warp">
			<ul>
				<li>
					<input type="checkbox" name="cname" id="all" onclick="checkTest1(this),checkTest2()" />
					全选
				</li>
				<li>商品</li>
				<li>单价</li>
				<li>数量</li>
				<li>小计</li>
				<li>操作</li>
			</ul>
		</div>
		<!-- 显示菜单的结束 -->
		
		<!-- 商品的展示开始 -->
		<!-- 商品1 -->
		<div class="info warp">
			<ul>
				<li class="info_1">
					<input type="checkbox" name="cname" onclick="checkTest2()"/>
				</li>
				<li class="info_2">
					<img src="img/img1.jpg" width="80px" height="80px" >
				</li>
				<li class="info_3"><a>【京东超市】desha春秋季儿童休闲服</a></li>
				<li class="info_4"><a>颜色: 灰色+粉红</a></li>
				<li class="info_5">182.5</li>
				<li class="info_6">
					<button onclick="checkTest3(this,1),checkTest2()">-</button>
					<input type="text" value="1" />
					<button id="bot" onclick="checkTest3(this,2),checkTest2()">+</button>
				</li>
				<li class="info_7">¥182.5</li>
				<li class="info_8">
					<a>删除</a>
					<br>
					<a>移到我的关注</a>
				</li>
			</ul>
		</div>
		<!-- 商品2 -->
		<div class="info warp">
			<ul>
				<li class="info_1">
					<input type="checkbox" name="cname" onclick="checkTest2()"/>
				</li>
				<li class="info_2">
					<img src="img/img2.jpg" width="80px" height="80px" >
				</li>
				<li class="info_3"><a>【京东超市】宏碁电脑·第6代智能英特尔@</a></li>
				<li class="info_4"><a>颜色: 灰色+粉红</a></li>
				<li class="info_5">182.5</li>
				<li class="info_6">
					<button onclick="checkTest3(this,1),checkTest2()">-</button>
					<input type="text" value="1" />
					<button id="bot" onclick="checkTest3(this,2),checkTest2()">+</button>
				</li>
				<li class="info_7">¥158.9</li>
				<li class="info_8">
					<a>删除</a>
					<br>
					<a>移到我的关注</a>
				</li>
			</ul>
		</div>
		<!-- 商品3 -->
		<div class="info warp">
			<ul>
				<li class="info_1">
					<input type="checkbox" name="cname" onclick="checkTest2()"/>
				</li>
				<li class="info_2">
					<img src="img/img3.jpg" width="80px" height="80px" >
				</li>
				<li class="info_3"><a>【京东超市】好孩子·婴儿橄榄柔护洗衣液</a></li>
				<li class="info_4"><a>颜色: 灰色+粉红</a></li>
				<li class="info_5">182.5</li>
				<li class="info_6">
					<button onclick="checkTest3(this,1),checkTest2()">-</button>
					<input type="text" value="1" />
					<button id="bot" onclick="checkTest3(this,2),checkTest2()">+</button>
				</li>
				<li class="info_7">¥182.5</li>
				<li class="info_8">
					<a>删除</a>
					<br>
					<a>移到我的关注</a>
				</li>
			</ul>
		</div>
		<!-- 商品的展示结束 -->
		
		<!-- 结算开始 -->
		<div class="balance warp">
			 <ul class="balance_ul1">
			 	<li>
					<input type="checkbox" name="cname" onclick="checkTest1(this),checkTest2()" />
					全选
				</li>
			 	<li>删除选中商品</li>
			 	<li>移到我的关注</li>
			 	<li>清除下柜商品</li>
			 </ul>
			 <ul class="balance_ul2">
			 	<li>已选择<span id="sum">0</span>件商品</li>
			 	<li>总价<span id="all_price">0</span></li>
			 	<li>
					<button>去结算</button>
				</li>
			 </ul>
		</div>
		<!-- 结算结束 -->
		
	</body>
</html>
<!-- 
	JS的变量
		var
		alert(): 输出语句形式
	JS中的数据类型
		number(数字类型的数据): 例:1,1.2;
		String(字符串类型): 例:'你',"我们";
		boolean(布尔类型): 例: true,false;
		Object(对象类型): 例: new Date();
	JS中特殊数据类型
		undefined(未定义)
		NaN(不是一个数字) Not a Number的简称
		Null(空对象) 例如:  var a = null;
 
 -->

js代码:

// 获得所有多选框的对象

var cname = document.getElementsByName("cname");

//判断是否全选操作

function checkTest1(th){

var flag = th.checked;

for(var i in cname){

cname[i].checked = flag;

}

}

// 单选决定全选

function checkTest2(){

// 勾选状态

var flag = true;

for(var i = 1;i < cname.length - 1; i++){

if(!cname[i].checked){

flag = false;

break;

}

}

// 从下标0开始计算

cname[0].checked = flag;

cname[cname.length - 1].checked = flag;

/* --------------------------------------------------- */

// 价格是否统计

var total_price = 0;

// 统计是否有勾选对象

var num = 0;

// 统计商品的数量

var com_all_num = 0;

for( var i = 1; i < cname.length - 1;i++){

if(cname[i].checked){

num++;

// 获得ul的父节点

var par = cname[i].parentNode.parentNode;

// 获得指定ul里面的所有的li

var li = par.getElementsByTagName("li");

// 单个商品的价格

var odd_price = li[6].innerHTML.split("¥")[1];

// 获得所有商品的总价格

total_price += Number(odd_price);

var all_p = document.getElementById("all_price").innerText = total_price;

//获得商品的数量

var com_num = li[5].document.getElementsByTagName("input");

var sp_num = com_num[0].value; // 获得input里的数量值

com_all_num += Number(sp_num);

// 获得商品数量统计的对象

document.getElementById("sum").innerText = com_all_num;

}

}

if(num == 0){

document.getElementById("all_price").innerText = 0;

document.getElementById("sum").innerText = 0;

}

}



// 控制数量的增加和减少

function checkTest3(th,sig){

var pre;

if(sig == "1"){

// 获得下一个节点

pre = th.nextElementSibling;

if(Number(pre.value) > 0){

// 获得节点的value值

pre.value = Number(pre.value) - 1;

}

}else{

// 获得上一个节点

pre = th.previousElementSibling;

// 获得节点的value值

pre.value = Number(pre.value) + 1;

}

// 计算每一个商品总的价格

// 获得每一个商品的单价

var val = pre.parentNode.previousElementSibling.innerHTML;

// 计算总价格

var total = Number(val)*Number(pre.value);

// 把总价格赋值给指定对象

pre.parentNode.nextElementSibling.innerHTML = "¥"+total;

}

运行截图:

image.png

JAVA 全系列/第四阶段:网页编程和设计/Javascript 语言(旧) 88楼
JAVA 全系列/第四阶段:网页编程和设计/Javascript 语言(旧) 89楼

问题一:

老师,我想在点击新增一行这个按钮时新增的一行可以自定义书名,作者,数量,但是我发现我写的代码只能自定义书名和作者,而且数量随着书名和作者的值变化而变化,如果先在书名里面写张三那么数量也变为张三,然后在作者里面写李四,这时候数量又变成了李四,老师这个我该怎么解决


问题二:

我在书名,作者和数量的input里面都调用了失去焦点的方法,为什么只有数量可以成功调用,写完之后鼠标点击其他地方文本框边框消失,而作者和书名却不行


问题动图如下:


GIF.gif



源码如下:


html:

<html>
	<head>
		<title>jQuery操作表格</title>
		<meta charset="UTF-8"/>
		<!--声明css代码域-->
		<style type="text/css">
			tr{
				height: 40px;
			}
		</style>
	 
	 	<script src="js/jquery-1.9.1.js" type="text/javascript" charset="utf-8"></script>
		
		<script src="js/gwc.js"	type="text/javascript" charset="UTF-8"></script>
		
	</head>
	<body>
		<h3>jQuery操作表格</h3>
		<hr />
		<input type="button" id="fx" value="反选" />
		<input type="button" id="addRow" value="新增一行" />
		<input type="button" id="delRow" value="删除行" />
		<input type="button" id="copyRow" value="复制行" />
		<table border="1px" cellpadding="10px" cellspacing="0" id="ta">
			<tr>
				<td width="50px"><input type="checkbox" name="chks" id="chks" value="1" /></td>
				<td width="200px">书名</td>
				<td width="200px">作者</td>
				<td width="200px">数量</td>
				<td width="200px">操作</td>
			</tr>
			<tr id="">
				<td><input type="checkbox" name="chk" id="" value="2"/></td>
				<td>《Java编程之道》</td>
				<td>wollo</td>
				<td>10</td>
				<td>
					<input type="button" name="aa" id="" value="修改数量"  onclick="change(this)"/>
					<input type="button" name="" id="" value="删除" onclick="del(this)"/>
				</td>
			</tr>
			<tr>
				<td><input type="checkbox" name="chk" id="" value="3" /></td>
				<td>《Python和我的故事》</td>
				<td>赵老师</td>
				<td>10</td>
				<td>
					<input type="button" name="" id="" value="修改数量" onclick="change(this)"/>
					<input type="button" name="" id="" value="删除" onclick="del(this)"/>
				</td>
			</tr>
			<tr>
				<td><input type="checkbox" name="chk" id="" value="4" /></td>
				<td>《web开发详解》</td>
				<td>张老师</td>
				<td>30</td>
				<td>
					<input type="button" name="" id="" value="修改数量" onclick="change(this)"/>
					<input type="button" name="" id="" value="删除" onclick="del(this)"/>
				</td>
			</tr>			
		</table>
	</body>
</html>


JS:

$(function(){
	
	//确定全选和全部不选操作
	
	$("#chks").click(function(){
		
		var flag = $(this).prop("checked");//返回布尔类型
		
			$("input[name=chk]").prop("checked",flag);//让所有内容都选中

	})
	
	//判断是否全选的操作
	$("input[name=chk]").click(function(){
		
		var flag = true;
		
		var chk = $("input[name=chk]");
		
		//each:遍历		每次遍历执行funaction 里面的内容
		chk.each(function(){
			
			if(!$(this).prop("checked")){
				
				flag = false;
				
				return;
			}
			
		})
		
		$("#chks").prop("checked",flag);
		
	})
	
	//反选的操作
	$("#fx").click(function(){
		
		//拿到所有的多选框
		var chx = $("input[name=chk]");
		
		//遍历
		chx.each(function(){
			
			//获得每个多选框的初始状态
			var flag = $(this).prop("checked");
			
			//现有状态与原始状态进行取反
			$(this).prop("checked",!flag);
		})
	})
	
	//新增加一行的操作
	$("#addRow").click(function(){
		
		//获得tab对象
		var tab = $("#ta");
		
		tab.append('<tr id="">'+
				'<td><input type="checkbox" name="chk" id="" value="2"/></td>'+
				'<td><input type="text"	onblur="bul(this)"/></td>'+
				'<td><input type="text"	onblur="bul(this)"/></td>'+
				'<td><input type="text"	onblur="bul(this)"/></td>'+
				'<td>'+
					'<input type="button" name="aa" id="" value="修改数量"  onclick="change(this)"/>&nbsp'+
					'<input type="button" name="" id="" value="删除" onclick="del(this)"/>'+
				'</td>'+
			'</tr>');
		
	})
	
	//删除的操作
	$("#delRow").click(function(){
		
		//获得被选中的name=chk的单选框
		var del = $("input[name=chk]:checked");
		
		if(del.length==0){//如果一行没选
			alert("至少选择一行!");
		}else{
			
			//执行删除整行的操作	单选框的父节点是	td	,	td	的父节点是	tr
			del.parent().parent().remove();
		}
		
	})
	
	//复制行		选中几个复制几个
	$("#copyRow").click(function(){
		
		//获得被选中的name=chk的多选框
		var copy = $("input[name=chk]:checked");
		
		if(copy.length==0){//如果一行没选
			alert("至少选择一行!");
		}else{
			//执行copy的操作
			
			//复制
			var tr = copy.parent().parent().clone();//克隆整行
			//黏贴
			$("#ta").append(tr);
			
		}
	})
	
})

//修改数量的操作

function change(th){//这里的this是JS类型的,得转换成JQ对象
	
	//$(th):转换成JQ对象		获得	tr	结点
	var par = $(th).parent().parent();
	
	//将写死的数量变成可以定义的文本框
	par.children().eq(3).html("<input	type='text' size='3px' onblur='bul(this)'/>");
}

function bul(th){
	
	var par = $(th).parent().parent();
	
	par.children().eq(3).html(th.value);//或者转成JQ对象再调用val来获得值
}

function del(th){
	
	var par = $(th).parent().parent();
	
	par.remove();
	
}


JAVA 全系列/第四阶段:网页编程和设计/Jquery(旧) 90楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637