- 浏览: 50850 次
- 性别:
- 来自: 南京
文章分类
最新评论
chrome可以直接测试运行
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="zh_CN" />
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<script type="text/javascript"
src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
function validateContact() {
var deptArray = new Array();
var result = true;
jQuery("#contactTab tr td").find('select').each(function(){
deptArray.push($(this).val());
});
if(deptArray.in_array(""))
{
alert("部门必填\r\n");
result = false;
}
if(!deptArray.in_array("1"))
{
alert("部门1必填\r\n");
result = false;
}
if(!deptArray.in_array("2"))
{
alert("部门2必填\r\n");
result = false;
}
var flag = false;
$('#contactTab tr').each(function() {
var vv = $(this).find('td:eq(0)').find('input:radio[name="isChecked"]:checked').val();
if(vv && vv == "on")
{
flag = true;
}
if($(this).find('td:eq(1)').text() == "")
{
alert("姓名不能为空");
result = false;
}
if($(this).find('td:eq(3)').text() == "")
{
alert("E-mail不能为空");
result = false;
}
if($(this).find('td:eq(4)').text() == "")
{
alert("手机号码不能为空");
result = false;
}
if($(this).find('td:eq(5)').text() == "")
{
alert("地址不能为空");
result = false;
}
});
if (!flag) {
alert("请选择一条记录");
result = false;
}
return result;
};
function update(page) {
if(!validateContact())
{
return;
}
var table = $('#contactTab').tableRowsToJSONWithFilter();
$("#contactJson").val(JSON.stringify(table));
var configForm = document.forms['form'];
configForm.action = "test.do";
configForm.submit();
}
$(function() {
new tableEdit('contactTab');
});
function copyContact(node)
{
var cloneTr = $(node).parents('tr').clone(true);
cloneTr.find('select').attr("disabled",false);
cloneTr.find("select").find("option:selected").removeAttr("selected");
cloneTr.find("select").find("option[value='3']").remove();
cloneTr.find('a').css("display","");
cloneTr.find('select').val("");
$(cloneTr).last().find('td').each(function(){
$(this).attr("edit","1");
var dataId = $(this).attr("data-id");
if (dataId !== undefined && dataId == 'id') {
$(this).text("");
}
});
var html = "<tr>"+ cloneTr.html() + "</tr>";
$(node).parents('tbody').append(html);
$(node).parents('tbody').find('td').unbind("click");
$(node).parents('tbody').find('td').click(tdClick);
}
function removeContact(a)
{
var cid = $(a).parent().prev("td").text();
if(cid=="")
{
removeTR(a);
return;
}
var urlStr = 'delete.do';
$.ajax({
url: urlStr,
async:false,
type: 'POST',
dataType: 'json',
data:{id:cid},
success: function(jObj){
removeTR(a);
}
});
}
function addTd()
{
var cloneTr = $("#copyBack").clone(true);
$(cloneTr).last().find('td').each(function(){
//$(this).attr("edit","1");
var dataId = $(this).attr("data-id");
if (dataId !== undefined && dataId == 'id') {
$(this).text("");
}
});
var html = "<tr>"+ cloneTr.html() + "</tr>";
$("#contactTab").append(html);
$("#contactTab").find('td').unbind("click");
$("#contactTab").find('td').click(tdClick);
}
<!-- 常用操作 -->
function tableEdit(table) {
table = table || document.getElementsByTagName("table")[0];
var tab = (typeof(table) == "string" || typeof(table) == "String") ? document.getElementById(table) : table;
var td = $(tab).find('td');
td.click(tdClick);
}
function validate(table)
{
table = table || document.getElementsByTagName("table")[0];
var tab = (typeof(table) == "string" || typeof(table) == "String") ? document.getElementById(table) : table;
$(tab).find('td').each(function(){
var len = $(this).attr('maxLength');
var reg = $(this).attr('reg');
var isNill = $(this).attr('isNill');
});
}
function tdClick(){
//将td的文本内容保存
attr = $(this).attr('edit');
if (attr !== undefined && attr == '0') {
return;
}
if($(this).has('select').length>0)
{
return;
}
var len = $(this).attr('maxLength');
var reg = $(this).attr('reg');
var regMsg = $(this).attr('regMsg');
var td = $(this);
var tdText = td.text();
//将td的内容清空
td.empty();
//新建一个输入框
var input = $("<input>");
//将保存的文本内容赋值给输入框
input.attr("value",tdText);
//将输入框添加到td中
td.append(input);
//给输入框注册事件,当失去焦点时就可以将文本保存起来
input.blur(function(){
//将输入框的文本保存
var input = $(this);
var inputText = input.val();
var msg = "";
if(len !== undefined){
len = parseInt(len);
if(inputText.length>len){
alert(inputText+"长度过长,不能超过"+len+"位");
window.setTimeout(function () { input.focus();}, 0);
return false;
}
}
if(reg !== undefined){
var patt1=new RegExp(reg);
if(!patt1.test(inputText)){
if(regMsg !== undefined){
alert(regMsg);
window.setTimeout(function () { input.focus();}, 0);
return false;
}else
{
alert(inputText+"格式不正确");
window.setTimeout(function () { input.focus();}, 0);
return false;
}
}
}
//将td的内容,即输入框去掉,然后给td赋值
var td = input.parent("td");
td.html(input.val());
//让td重新拥有点击事件
td.click(tdClick);
});
input.keyup(function(event){
//1.获取当前用户按下的键值
//解决不同浏览器获得事件对象的差异,
// IE用自动提供window.event,而其他浏览器必须显示的提供,即在方法参数中加上event
var myEvent = event || window.event;
var keyCode = myEvent.keyCode;
//2.判断是否是ESC键按下
if(keyCode == 27){
//将input输入框的值还原成修改之前的值
input.val(tdText);
}
});
//将输入框中的文本高亮选中
//将jquery对象转化为DOM对象
var inputDom = input.get(0);
inputDom.select();
//将td的点击事件移除
td.unbind("click");
}
function copyTR(node)
{
var cloneTr = $(node).parents('tr').clone(true);
cloneTr.find('select').attr("disabled","");
cloneTr.find("select").find("option:selected").removeAttr("selected");
cloneTr.find('a').css("display","");
cloneTr.find('select').val("");
$(cloneTr).last().find('td').each(function(){
$(this).attr("edit","1");
var dataId = $(this).attr("data-id");
if (dataId !== undefined && dataId == 'id') {
$(this).text("");
}
});
var html = "<tr>"+ cloneTr.html() + "</tr>";
$(node).parents('tbody').append(html);
$(node).parents('tbody').find('td').unbind("click");
$(node).parents('tbody').find('td').click(tdClick);
}
function removeTR(tr)
{
$(tr).parent().parent().remove();
}
function disableDiv(d)
{
for(var i=0;i<d.childNodes.length;i++)
{
if(d.childNodes[i].disabled!=null)
{
d.childNodes[i].disabled = "disabled";
}
else
{
disableDiv(d.childNodes[i]);
}
}
}
function releaseDiv(d)
{
for(var i=0;i<d.childNodes.length;i++)
{
if(d.childNodes[i].disabled!=null)
{
d.childNodes[i].disabled = "";
}
else
{
releaseDiv(d.childNodes[i]);
}
}
}
Array.prototype.in_array = function(e)
{
for(i=0;i<this.length;i++)
{
if(this[i].replace(/(^\s*)|(\s*$)/g,'') == e)
return true;
}
return false;
};
(function($) {
$.extend($.fn, {
tableRowsToJSONWithFilter : function (filter) {
var tableSelector = this, item, attr,len, data, _JSON = [];
if (typeof(tableSelector) !== 'object') {
return new Error('Invalid tableSelect!');
};
$(tableSelector).find('tr').each(function(index, tr) {
item = {};
$('td', $(this)).each(function(index, td) {
attr = $(td).attr('data-id');
if($(td).has('select').length>0)
{
data = $(td).children('select').val();
}
else if ($(td).has('input:radio').length>0) {
data = $(td).children('input:radio:checked').val();
}
else
{
data = $(td).text();
}
if (attr !== undefined && data !== '') {
item[attr] = $.trim(data);
};
});
_JSON.push(item);
});
return _JSON;
}
})
})(jQuery);
</script>
</head>
<body>
<form>
<div class="contentTitle clearfix">
<div class="contentTitleText">提交验证</div>
<div>
<input type="button" value="添加" class="ButtonTwoNext"
onclick="addTd();" />
</div>
<div class="tableList">
<table width="96%" border="1" cellspacing="0" cellpadding="0" class="tabWhole" >
<thead>
<tr class="tabT">
<td align="center" width="60px" class="tabTitle"><span class="required">* </span>选择</td>
<td align="center" width="60px" class="tabTitle"><span class="required">* </span>姓名</td>
<td align="center" width="112px" class="tabTitle"><span class="required">* </span>部门</td>
<td align="center" width="88px" class="tabTitle"><span class="required">* </span>E-mail</td>
<td align="center" width="100px" class="tabTitle"><span class="required">* </span>手机号码</td>
<td align="center" width="90px" class="tabTitle">地址</td>
</tr>
<tr id="copyBack" style="display:none">
<td height="50px" data-id='isChecked' isNull="0" width="60px" style="word-break: break-all;" edit="0"><input type="radio" name="isChecked"/></td>
<td height="50px" data-id='name' isNull="0" width="60px" style="word-break: break-all;" edit="1" maxlength="32"></td>
<td data-id='dept' width="112px"><select style="width: 112px">
<option value=''>==请选择==</option>
<option value='1' style="color:red" >*部门1</option>
<option value='2' style="color:red" >*部门2</option>
<option value='3' >部门3</option>
</select></td>
<td data-id='email' width="88px" isNull="0" style="word-break: break-all;" edit="1" maxlength="100" reg="^(([a-zA-Z0-9_-]|\.|\*)+@([a-zA-Z0-9_-]|\.)+\.([a-zA-Z0-9_-])+)?$"></td>
<td data-id='mobilePhone' isNull="0" width="100px" style="word-break: break-all;" edit="1" maxlength="20"></td>
<td data-id='address' isNull="0" width="100px" style="word-break: break-all;" edit="1" maxlength="20"></td>
<td width="95px" isNull="1" edit="0" data-id='id' style="display: none"></td>
<th align="left" width="90px" edit="0" isNull="1"> <a href="#" onclick="removeContact($(this));">移除</a> </th>
</tr>
</thead>
<tbody id="contactTab">
<tr>
<td height="50px" data-id='name' isNull="0" width="60px" edit="0" maxlength="32"><input type="radio" name="isChecked"/></td>
<td height="50px" data-id='name' isNull="0" width="60px" style="word-break: break-all;" edit="1" maxlength="32"></td>
<td data-id='dept' width="112px"><select style="width: 112px">
<option value=''>==请选择==</option>
<option value='1' style="color:red" >*部门1</option>
<option value='2' style="color:red" >*部门2</option>
<option value='3' >部门3</option>
</select></td>
<td data-id='email' width="88px" isNull="0" style="word-break: break-all;" edit="1" maxlength="100" reg="^(([a-zA-Z0-9_-]|\.|\*)+@([a-zA-Z0-9_-]|\.)+\.([a-zA-Z0-9_-])+)?$"></td>
<td data-id='mobilePhone' isNull="0" width="100px" style="word-break: break-all;" edit="1" maxlength="20"></td>
<td data-id='address' isNull="0" width="100px" style="word-break: break-all;" edit="1" maxlength="20"></td>
<td width="95px" isNull="1" edit="0" data-id='id' style="display: none"></td>
<th align="left" width="90px" edit="0" isNull="1">
<a href="#" onclick="removeContact($(this));">移除</a>
<a href="#self"
onclick="copyContact($(this));">复制</a></th>
</tr>
</tbody>
</table>
</div>
</div>
<div style="float: right">
<input name="submitPost" type="button" value="提交" onclick="update('current')" class="ButtonTwoNext"/>
</div>
</form>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="zh_CN" />
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<script type="text/javascript"
src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
function validateContact() {
var deptArray = new Array();
var result = true;
jQuery("#contactTab tr td").find('select').each(function(){
deptArray.push($(this).val());
});
if(deptArray.in_array(""))
{
alert("部门必填\r\n");
result = false;
}
if(!deptArray.in_array("1"))
{
alert("部门1必填\r\n");
result = false;
}
if(!deptArray.in_array("2"))
{
alert("部门2必填\r\n");
result = false;
}
var flag = false;
$('#contactTab tr').each(function() {
var vv = $(this).find('td:eq(0)').find('input:radio[name="isChecked"]:checked').val();
if(vv && vv == "on")
{
flag = true;
}
if($(this).find('td:eq(1)').text() == "")
{
alert("姓名不能为空");
result = false;
}
if($(this).find('td:eq(3)').text() == "")
{
alert("E-mail不能为空");
result = false;
}
if($(this).find('td:eq(4)').text() == "")
{
alert("手机号码不能为空");
result = false;
}
if($(this).find('td:eq(5)').text() == "")
{
alert("地址不能为空");
result = false;
}
});
if (!flag) {
alert("请选择一条记录");
result = false;
}
return result;
};
function update(page) {
if(!validateContact())
{
return;
}
var table = $('#contactTab').tableRowsToJSONWithFilter();
$("#contactJson").val(JSON.stringify(table));
var configForm = document.forms['form'];
configForm.action = "test.do";
configForm.submit();
}
$(function() {
new tableEdit('contactTab');
});
function copyContact(node)
{
var cloneTr = $(node).parents('tr').clone(true);
cloneTr.find('select').attr("disabled",false);
cloneTr.find("select").find("option:selected").removeAttr("selected");
cloneTr.find("select").find("option[value='3']").remove();
cloneTr.find('a').css("display","");
cloneTr.find('select').val("");
$(cloneTr).last().find('td').each(function(){
$(this).attr("edit","1");
var dataId = $(this).attr("data-id");
if (dataId !== undefined && dataId == 'id') {
$(this).text("");
}
});
var html = "<tr>"+ cloneTr.html() + "</tr>";
$(node).parents('tbody').append(html);
$(node).parents('tbody').find('td').unbind("click");
$(node).parents('tbody').find('td').click(tdClick);
}
function removeContact(a)
{
var cid = $(a).parent().prev("td").text();
if(cid=="")
{
removeTR(a);
return;
}
var urlStr = 'delete.do';
$.ajax({
url: urlStr,
async:false,
type: 'POST',
dataType: 'json',
data:{id:cid},
success: function(jObj){
removeTR(a);
}
});
}
function addTd()
{
var cloneTr = $("#copyBack").clone(true);
$(cloneTr).last().find('td').each(function(){
//$(this).attr("edit","1");
var dataId = $(this).attr("data-id");
if (dataId !== undefined && dataId == 'id') {
$(this).text("");
}
});
var html = "<tr>"+ cloneTr.html() + "</tr>";
$("#contactTab").append(html);
$("#contactTab").find('td').unbind("click");
$("#contactTab").find('td').click(tdClick);
}
<!-- 常用操作 -->
function tableEdit(table) {
table = table || document.getElementsByTagName("table")[0];
var tab = (typeof(table) == "string" || typeof(table) == "String") ? document.getElementById(table) : table;
var td = $(tab).find('td');
td.click(tdClick);
}
function validate(table)
{
table = table || document.getElementsByTagName("table")[0];
var tab = (typeof(table) == "string" || typeof(table) == "String") ? document.getElementById(table) : table;
$(tab).find('td').each(function(){
var len = $(this).attr('maxLength');
var reg = $(this).attr('reg');
var isNill = $(this).attr('isNill');
});
}
function tdClick(){
//将td的文本内容保存
attr = $(this).attr('edit');
if (attr !== undefined && attr == '0') {
return;
}
if($(this).has('select').length>0)
{
return;
}
var len = $(this).attr('maxLength');
var reg = $(this).attr('reg');
var regMsg = $(this).attr('regMsg');
var td = $(this);
var tdText = td.text();
//将td的内容清空
td.empty();
//新建一个输入框
var input = $("<input>");
//将保存的文本内容赋值给输入框
input.attr("value",tdText);
//将输入框添加到td中
td.append(input);
//给输入框注册事件,当失去焦点时就可以将文本保存起来
input.blur(function(){
//将输入框的文本保存
var input = $(this);
var inputText = input.val();
var msg = "";
if(len !== undefined){
len = parseInt(len);
if(inputText.length>len){
alert(inputText+"长度过长,不能超过"+len+"位");
window.setTimeout(function () { input.focus();}, 0);
return false;
}
}
if(reg !== undefined){
var patt1=new RegExp(reg);
if(!patt1.test(inputText)){
if(regMsg !== undefined){
alert(regMsg);
window.setTimeout(function () { input.focus();}, 0);
return false;
}else
{
alert(inputText+"格式不正确");
window.setTimeout(function () { input.focus();}, 0);
return false;
}
}
}
//将td的内容,即输入框去掉,然后给td赋值
var td = input.parent("td");
td.html(input.val());
//让td重新拥有点击事件
td.click(tdClick);
});
input.keyup(function(event){
//1.获取当前用户按下的键值
//解决不同浏览器获得事件对象的差异,
// IE用自动提供window.event,而其他浏览器必须显示的提供,即在方法参数中加上event
var myEvent = event || window.event;
var keyCode = myEvent.keyCode;
//2.判断是否是ESC键按下
if(keyCode == 27){
//将input输入框的值还原成修改之前的值
input.val(tdText);
}
});
//将输入框中的文本高亮选中
//将jquery对象转化为DOM对象
var inputDom = input.get(0);
inputDom.select();
//将td的点击事件移除
td.unbind("click");
}
function copyTR(node)
{
var cloneTr = $(node).parents('tr').clone(true);
cloneTr.find('select').attr("disabled","");
cloneTr.find("select").find("option:selected").removeAttr("selected");
cloneTr.find('a').css("display","");
cloneTr.find('select').val("");
$(cloneTr).last().find('td').each(function(){
$(this).attr("edit","1");
var dataId = $(this).attr("data-id");
if (dataId !== undefined && dataId == 'id') {
$(this).text("");
}
});
var html = "<tr>"+ cloneTr.html() + "</tr>";
$(node).parents('tbody').append(html);
$(node).parents('tbody').find('td').unbind("click");
$(node).parents('tbody').find('td').click(tdClick);
}
function removeTR(tr)
{
$(tr).parent().parent().remove();
}
function disableDiv(d)
{
for(var i=0;i<d.childNodes.length;i++)
{
if(d.childNodes[i].disabled!=null)
{
d.childNodes[i].disabled = "disabled";
}
else
{
disableDiv(d.childNodes[i]);
}
}
}
function releaseDiv(d)
{
for(var i=0;i<d.childNodes.length;i++)
{
if(d.childNodes[i].disabled!=null)
{
d.childNodes[i].disabled = "";
}
else
{
releaseDiv(d.childNodes[i]);
}
}
}
Array.prototype.in_array = function(e)
{
for(i=0;i<this.length;i++)
{
if(this[i].replace(/(^\s*)|(\s*$)/g,'') == e)
return true;
}
return false;
};
(function($) {
$.extend($.fn, {
tableRowsToJSONWithFilter : function (filter) {
var tableSelector = this, item, attr,len, data, _JSON = [];
if (typeof(tableSelector) !== 'object') {
return new Error('Invalid tableSelect!');
};
$(tableSelector).find('tr').each(function(index, tr) {
item = {};
$('td', $(this)).each(function(index, td) {
attr = $(td).attr('data-id');
if($(td).has('select').length>0)
{
data = $(td).children('select').val();
}
else if ($(td).has('input:radio').length>0) {
data = $(td).children('input:radio:checked').val();
}
else
{
data = $(td).text();
}
if (attr !== undefined && data !== '') {
item[attr] = $.trim(data);
};
});
_JSON.push(item);
});
return _JSON;
}
})
})(jQuery);
</script>
</head>
<body>
<form>
<div class="contentTitle clearfix">
<div class="contentTitleText">提交验证</div>
<div>
<input type="button" value="添加" class="ButtonTwoNext"
onclick="addTd();" />
</div>
<div class="tableList">
<table width="96%" border="1" cellspacing="0" cellpadding="0" class="tabWhole" >
<thead>
<tr class="tabT">
<td align="center" width="60px" class="tabTitle"><span class="required">* </span>选择</td>
<td align="center" width="60px" class="tabTitle"><span class="required">* </span>姓名</td>
<td align="center" width="112px" class="tabTitle"><span class="required">* </span>部门</td>
<td align="center" width="88px" class="tabTitle"><span class="required">* </span>E-mail</td>
<td align="center" width="100px" class="tabTitle"><span class="required">* </span>手机号码</td>
<td align="center" width="90px" class="tabTitle">地址</td>
</tr>
<tr id="copyBack" style="display:none">
<td height="50px" data-id='isChecked' isNull="0" width="60px" style="word-break: break-all;" edit="0"><input type="radio" name="isChecked"/></td>
<td height="50px" data-id='name' isNull="0" width="60px" style="word-break: break-all;" edit="1" maxlength="32"></td>
<td data-id='dept' width="112px"><select style="width: 112px">
<option value=''>==请选择==</option>
<option value='1' style="color:red" >*部门1</option>
<option value='2' style="color:red" >*部门2</option>
<option value='3' >部门3</option>
</select></td>
<td data-id='email' width="88px" isNull="0" style="word-break: break-all;" edit="1" maxlength="100" reg="^(([a-zA-Z0-9_-]|\.|\*)+@([a-zA-Z0-9_-]|\.)+\.([a-zA-Z0-9_-])+)?$"></td>
<td data-id='mobilePhone' isNull="0" width="100px" style="word-break: break-all;" edit="1" maxlength="20"></td>
<td data-id='address' isNull="0" width="100px" style="word-break: break-all;" edit="1" maxlength="20"></td>
<td width="95px" isNull="1" edit="0" data-id='id' style="display: none"></td>
<th align="left" width="90px" edit="0" isNull="1"> <a href="#" onclick="removeContact($(this));">移除</a> </th>
</tr>
</thead>
<tbody id="contactTab">
<tr>
<td height="50px" data-id='name' isNull="0" width="60px" edit="0" maxlength="32"><input type="radio" name="isChecked"/></td>
<td height="50px" data-id='name' isNull="0" width="60px" style="word-break: break-all;" edit="1" maxlength="32"></td>
<td data-id='dept' width="112px"><select style="width: 112px">
<option value=''>==请选择==</option>
<option value='1' style="color:red" >*部门1</option>
<option value='2' style="color:red" >*部门2</option>
<option value='3' >部门3</option>
</select></td>
<td data-id='email' width="88px" isNull="0" style="word-break: break-all;" edit="1" maxlength="100" reg="^(([a-zA-Z0-9_-]|\.|\*)+@([a-zA-Z0-9_-]|\.)+\.([a-zA-Z0-9_-])+)?$"></td>
<td data-id='mobilePhone' isNull="0" width="100px" style="word-break: break-all;" edit="1" maxlength="20"></td>
<td data-id='address' isNull="0" width="100px" style="word-break: break-all;" edit="1" maxlength="20"></td>
<td width="95px" isNull="1" edit="0" data-id='id' style="display: none"></td>
<th align="left" width="90px" edit="0" isNull="1">
<a href="#" onclick="removeContact($(this));">移除</a>
<a href="#self"
onclick="copyContact($(this));">复制</a></th>
</tr>
</tbody>
</table>
</div>
</div>
<div style="float: right">
<input name="submitPost" type="button" value="提交" onclick="update('current')" class="ButtonTwoNext"/>
</div>
</form>
</body>
</html>
发表评论
-
itext生成pdf
2019-08-09 14:23 378package pdf; import java ... -
微服务系统设计(元素)
2019-01-24 23:06 448以springboot框架来设计一个微服务系统,可以利用现有的 ... -
String与Long类型比较的陷阱
2018-06-06 11:30 1118public class LongTest { publi ... -
form表单为空校验js实现
2018-03-05 11:10 919function notNull(id) { var fl ... -
html+js+css实现遮挡层
2018-01-31 17:11 380<style> #bg{display:none ... -
jquery实现tab切换
2018-01-26 19:43 831<html> <head> ... -
poi设置下拉框
2018-01-05 17:05 18711.下拉框数据较少时 String[] strs = new ... -
poi之getPhysicalNumberOfCells与getLastCellNum
2017-12-18 17:27 1507某次调用row.getPhysicalNumberOfCell ... -
javascript校验信息
2017-11-13 20:16 01.校验手机号 var pattern = /^1[34578 ... -
下载poi生成的excel
2017-10-18 09:28 562#xls格式 // 下载wb String fileNa ... -
弹窗列表操作-javascript
2017-08-30 18:36 790<html> <head> & ... -
反射读取解析excel模板到集合
2017-08-24 23:10 504#调用 List<ModelTest> list ... -
javascript+css
2017-03-20 12:30 0HTML #浏览器解析html页面的顺序 #几M的图片 ... -
java后台判断浏览器属性
2017-01-25 15:51 0import java.util.regex.Matcher; ... -
前台异步交互示例
2017-01-25 15:48 0/** * <b>功能:</b>输 ...
相关推荐
这篇文章主要介绍了如何使用jQuery在指定的HTML表格(table)中动态地添加和删除行。jQuery是一种广泛使用的JavaScript库,它简化了DOM操作,包括在表格中动态修改内容。 首先,我们要理解HTML表格的基本结构,一个...
本篇将详细探讨如何利用jQuery实现表格中checkbox的相关事件操作,包括动态添加行、隔行换色、选中变色、全选与反选等功能。 首先,让我们了解jQuery的基本概念。jQuery是一个快速、简洁的JavaScript库,它简化了...
本教程将深入探讨如何使用jQuery实现表格(table)的动态添加行和编辑功能,这对于构建数据驱动的Web应用至关重要。 首先,我们需要一个基本的HTML结构来展示表格。一个简单的表格通常包括thead部分(表头)和tbody...
在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作,包括对表格(table)的操作。本文将深入探讨如何使用jQuery实现表格的添加、删除行和列的功能,以便于动态更新和管理HTML表格内容。 ...
此外,为了提供更好的用户体验,可以考虑添加一些视觉反馈,比如禁用无法操作的按钮,或者在交换行时显示短暂的动画效果。 以上就是使用jQuery实现表格行上下移动互换的基本步骤。这个功能在很多数据管理场景中都...
总之,jQuery Table Scroll插件为网页中的大型表格提供了便捷的滚动条解决方案,使得用户可以在有限的屏幕空间内查看和操作大量数据。通过合理地配置参数和结合其他前端技术,你可以创建出高效且用户体验良好的数据...
jQuery操作Table技巧大汇总主要涵盖了如何使用jQuery对HTML表格进行一系列的交互和样式修改,包括鼠标响应、样式调整、行和列的隐藏与删除,以及单元格内容的获取与设置等。以下是对这些技巧的详细解释: 1. 鼠标...
除了基本的导出功能,jQuery.table2excel还可以与其他jQuery插件(如Datatables)结合使用,为复杂的数据展示和操作提供更强大的支持。同时,开发者也可以根据实际需求对其进行二次开发,例如添加自定义样式到导出的...
本主题聚焦于“jQuery table选中表格行变色”这一功能,它在交互式网页设计中尤为常见,可以提升用户体验。下面将详细介绍如何使用jQuery实现这个功能。 首先,我们需要一个基本的HTML表格结构,例如: ```html ...
6. **动态显示数据**:根据当前页码,从数据集中提取对应的数据块,然后使用jQuery操作DOM将这些数据显示在表格的`<tbody>`中。 7. **状态维护**:需要记录当前页码和每页显示的条目数,确保用户在页面之间导航时能...
虽然较旧,但它仍能支持基本的jQuery操作。在这个项目中,它提供了JavaScript操作DOM和处理事件的能力。 `superTables.js`和`jquery.superTable.js`是JavaScript文件,它们可能是实现固定行和列功能的插件。`jquery...
在`jQuery Table`编辑场景中,`jQuery`用于添加交互性,使得用户能够轻松地编辑表格内容。 要实现鼠标点击表格单元格即可编辑的功能,你需要对表格的每个单元格(`td`元素)添加`click`事件监听器。当用户点击单元格...
3. **过滤**:在表头中添加输入框,允许用户输入关键词,实时筛选符合要求的行。 4. **扩展列**:通过自定义列渲染函数,可以实现复杂的数据展示,如合并单元格、添加操作按钮等。 5. **API控制**:提供了丰富的...
在创建动态数据展示时,表格(table)是常见的元素,jQuery 提供了一些方法来帮助我们方便地操作表格中的行(rows)和列(columns)。本文将详细介绍如何使用 jQuery 实现表格的添加、删除行与列的操作。 ### 1. ...
本主题将详细探讨如何使用jQuery实现表格(table)中的行上移、下移和置顶功能,这对于数据排序和用户交互至关重要。 一、jQuery基础 在开始之前,确保已引入jQuery库。你可以通过以下方式在HTML文件中添加引用: ...
本文将详细探讨如何使用 jQuery 进行表格操作,特别是关于行的上移、下移和删除功能。 一、jQuery 表格基础操作 在 jQuery 中,我们可以通过选择器获取到 HTML 表格元素,例如 `$("#myTable")` 会选取 id 为 ...
在网页开发中,表格是一种常见的数据展示方式,而jQuery作为JavaScript的一个强大库,提供了丰富的功能和便利的操作,使得表格的编辑、添加和删除行变得更加简单。本文将深入探讨“jQuery表格编辑添加删除行插件”,...
二、jQuery添加行 要使用jQuery动态添加表格行,可以编写一个函数,根据需要插入新的行数据。以下是一个简单的示例: ```javascript function addRow(name, age) { var newRow = $("<tr><td>" + name + "</td><td...
在网页开发中,jQuery是一个非常流行的JavaScript库,它简化了DOM操作、事件处理以及动画效果。本示例中,我们关注的是"jQuery Table点击选中表格行变色代码",这是一个用于实现用户交互功能的常见需求,即当用户...
jQuery可以方便地选择、添加、删除或修改这些元素。例如,`$('table tr').sort(function(a, b){...})`可以对表格行进行排序。 3. **排序算法**:实现表格排序的关键在于正确的排序算法。常见的有冒泡排序、快速排序...