jQuery获取/设置表单内容

227 阅读1分钟

原生js是通过value属性来获取/设置表单内容

jQuery中是通过val()方法来获取/设置表单内容

  • val()方法不给参数就是获取表单内容
  • val()方给参数就是设置表单内容

动态数据添加和删除练习:

<!DOCTYPE html>

<html>

	<head lang="en">
		<meta charset="UTF-8">
		<title></title>
		<style>
			* {
				padding: 0;
				margin: 0;
			}
			
			.wrap {
				width: 410px;
				margin: 100px auto 0;
			}
			
			table {
				border-collapse: collapse;
				border-spacing: 0;
				border: 1px solid #c0c0c0;
			}
			
			th,
			td {
				border: 1px solid #d0d0d0;
				color: #404060;
				padding: 10px;
			}
			
			th {
				background-color: #09c;
				font-weight: bold;
				font-size: 16px;
				color: #fff;
			}
			
			td {
				font-size: 14px;
			}
			
			td a.get {
				text-decoration: none;
			}
			
			a.del:hover {
				text-decoration: underline;
			}
			
			tbody tr {
				background-color: #f0f0f0;
			}
			
			tbody tr:hover {
				cursor: pointer;
				background-color: #fafafa;
			}
			
			#j_btnAddDate {
				width: 110px;
				height: 30px;
				font-size: 20px;
				font-weight: bold;
				margin-bottom: 10px;
			}
			
			.form-item {
				height: 100%;
				position: relative;
				padding-left: 100px;
				padding-right: 20px;
				margin-bottom: 34px;
				line-height: 36px;
			}
			
			.form-item>.lb {
				position: absolute;
				left: 0;
				top: 0;
				display: block;
				width: 100px;
				text-align: right;
			}
			
			.form-item>.txt {
				width: 300px;
				height: 32px;
			}
			
			.mask {
				position: absolute;
				top: 0px;
				left: 0px;
				width: 100%;
				height: 100%;
				background: #000;
				opacity: 0.15;
				display: none;
			}
			
			.form-add {
				position: fixed;
				top: 30%;
				left: 50%;
				margin-left: -197px;
				padding-bottom: 20px;
				background: #fff;
				display: none;
			}
			
			.form-add-title {
				background-color: #f7f7f7;
				border-width: 1px 1px 0 1px;
				border-bottom: 0;
				margin-bottom: 15px;
				position: relative;
			}
			
			.form-add-title span {
				width: auto;
				height: 18px;
				font-size: 16px;
				font-weight: bold;
				color: rgb(102, 102, 102);
				text-indent: 12px;
				padding: 8px 0px 10px;
				margin-right: 10px;
				display: block;
				overflow: hidden;
				text-align: left;
			}
			
			.form-add-title div {
				width: 16px;
				height: 20px;
				position: absolute;
				right: 10px;
				top: 6px;
				font-size: 30px;
				line-height: 16px;
				cursor: pointer;
			}
			
			.form-submit {
				text-align: center;
			}
			
			.form-submit input {
				width: 170px;
				height: 32px;
			}
			
			</sty
		</style>

	</head>

	<body>
		<div class="wrap">
			<input type="button" value="添加数据" id="j_btnAddDate">
			<table>
				<thead>
					<tr>
						<th>课程名称</th>
						<th>所属学院</th>
						<th>操作</th>
					</tr>
				</thead>
				<tbody id="j_tb">
					<tr>
						<td>JavaScript</td>
						<td>前端与移动开发学院</td>
						<td>
							<a href="#" class="get">DELETE</a>
						</td>
					</tr>
					<tr>
						<td>css</td>
						<td>前端与移动开发学院</td>
						<td>
							<a href="#" class="get">DELETE</a>
						</td>
					</tr>
					<tr>
						<td>html</td>
						<td>前端与移动开发学院</td>
						<td>
							<a href="#" class="get">DELETE</a>
						</td>
					</tr>
					<tr>
						<td>jQuery</td>
						<td>前端与移动开发学院</td>
						<td>
							<a href="#" class="get">DELETE</a>
						</td>
					</tr>
				</tbody>
			</table>
		</div>
		<!--遮罩层-->
		<div id="j_mask" class="mask"></div>
		<!--添加数据的表单-->
		<div id="j_formAdd" class="form-add">
			<div class="form-add-title">
				<span>添加数据</span>
				<div id="j_hideFormAdd">×</div>
			</div>
			<div class="form-item">
				<label class="lb" for="j_txtLesson">课程名称:</label>
				<input class="txt" type="text" id="j_txtLesson" placeholder="请输入课程名称" />
			</div>
			<div class="form-item">
				<label class="lb" for="j_txtBelSch">所属学院:</label>
				<input class="txt" type="text" id="j_txtBelSch" value="前端与移动开发学院" />
			</div>
			<div class="form-submit">
				<input type="button" value="添加" id="j_btnAdd" />
			</div>
		</div>

	</body>

</html>
<script src="js/jquery.js"></script>
<script>
	$(function() {
		//1:点击添加数据按钮,显示添加面板和遮罩层
		$("#j_btnAddDate").click(function() {
			$("#j_formAdd").show();
			$("#j_mask").show();
		});
		//2:点击添加面板里的关闭按钮,隐藏添加面板和遮罩层
		$("#j_hideFormAdd").click(function() {
			$("#j_formAdd").hide();
			$("#j_mask").hide();
		});
		//3:点击添加面板里的添加按钮,会把输入的内容生成一个tr,这个tr添加到tbody中
		$("#j_btnAdd").click(function() {
			//获取到用户输入的所属学院和课程名称
			var $txtLesson = $("#j_txtLesson").val(); //获取用户输入的课程名称
			var $txtBelSch = $("#j_txtBelSch").val(); //获取用户输入的所属学院
			//把用户输入的课程名称和所属学院,创建出一个tr
			var $trNew = $('<tr>' +
				'<td>' + $txtLesson + '</td>' +
				'<td>' + $txtBelSch + '</td>' +
				'<td><a href="#" class="get">DELETE</a></td>' +
				'</tr>'
			);
			//给新建的$trNew里的a标签添加一个事件
			$trNew.find(".get").click(function() {
				$trNew.remove();
			});
			//把创建的tr标签添加到tbody中
			$("#j_tb").append($trNew);
			//关闭面板和遮罩
			$("#j_hideFormAdd").click();

		});
		//4:点击delete这些a标签,删除对应的tr
		$("#j_tb .get").click(function() {
			$(this).parent().parent().remove();
		});

	});
</script>