目的是为了校验table中两个单元格之间的平衡关系,例如大于小于等。
形式为jquery插件
/**
* @author zhangtan
* @email ztreal@gmail.com
* @since 2010-10-21
* 校验页面平衡关系
* @version 1.0.0(2010-10-21)
* @jquery 1.3.2
*/
(function($) {
//基本参数 校验提示文字
/** $.fn.print.default = {
greater: "greater than"
};
// 需要校验的内容参数传入
* var valicontent=new Array({c1tr:0,c1td:1,c2tr:0,c2td:3,symbol:'<'},{c1tr:1,c1td:1,c2tr:1,c2td:3,symbol:'<'},{c1tr:2,c1td:'1+3',c2tr:2,c2td:5,symbol:'<'});
$("#test").check(valicontent); **/
$.fn.check = function(options) {
///<summary>
/// validate div table cell 之间的平衡关系
///</summary>
var va1namelist = '';
var va1 = 0;
var va2 = "";
var va2name = "";
var symbol = "";
var error = [];
$("#jsshowerror").empty();
for (var i = 0; i < options.length; i++) {
//var opts = $.extend({}, $.fn.check.defaults, options);
var temptdlist = options[i].c1td.toString().split('+');
if (options[i].c1td.toString().indexOf('+') > -1) {
for (var ii = 0; ii < temptdlist.length; ii++) {
va1 = Number(va1) + Number($(this).find("tr").eq(options[i].c1tr).children("td").eq(temptdlist[ii]).find("input[type='text'],select").val());
va1namelist = va1namelist + '加' + $(this).find("tr").eq(options[i].c1tr).children("td").eq(temptdlist[ii] - 1).html();
}
va1namelist = va1namelist.substring(1, va1namelist.length);
va2 = $(this).find("tr").eq(options[i].c2tr).children("td").eq(options[i].c2td).find("input[type='text'],select").val();
va2name = $(this).find("tr").eq(options[i].c2tr).children("td").eq(options[i].c2td - 1).html();
symbol = options[i].symbol;
if (eval(va1 + symbol + va2)) {
//alert("检验成功!");
}
else {
error[error.length]= va1namelist + $.fn.check.defaults[symbol] + va2name;
//alert(va1namelist + $.fn.check.defaults[symbol] + va2name);
}
}
else {
va1 = $(this).find("tr").eq(options[i].c1tr).children("td").eq(options[i].c1td).find("input[type='text'],select").val();
var va1name = $(this).find("tr").eq(options[i].c1tr).children("td").eq(options[i].c1td - 1).html();
va2 = $(this).find("tr").eq(options[i].c2tr).children("td").eq(options[i].c2td).find("input[type='text'],select").val();
va2name = $(this).find("tr").eq(options[i].c2tr).children("td").eq(options[i].c2td - 1).html();
symbol = options[i].symbol;
if (eval(va1 + symbol + va2)) {
//alert("检验成功!");
}
else {
error[error.length]= va1name + $.fn.check.defaults[symbol] + va2name;
// alert(va1name + $.fn.check.defaults[symbol] + va2name);
}
}
}
if($("#jsshowerror").length>=1){
var errorhtml="";
for(var i =0;i<error.length;i++){
errorhtml = errorhtml+ "<div>"+error[i]+"</div>";
}
$("#jsshowerror").append(errorhtml);
}
};
//校验弹出的提示框
$.fn.check.defaults = {
'>': '应大于',
'<': '应小于'
};
})(jQuery);
使用范例为
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>校验测试</title>
<script type="text/javascript" src="../common/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../common/js/jquery.valipingmeng.js"></script>
<script type="text/javascript">
</script>
<style type="text/css">
#jsshowerror{
color:red;
}
</style>
<script type="text/javascript">
$(function() {
$("#check").click(function(){
var valicontent=new Array({c1tr:0,c1td:1,c2tr:0,c2td:3,symbol:'<'},{c1tr:1,c1td:1,c2tr:1,c2td:3,symbol:'<'},{c1tr:2,c1td:'1+3',c2tr:2,c2td:5,symbol:'<'});
$("#test").check(valicontent);
})
});
</script>
</head>
<body >
<div id="jsshowerror"></div>
<input type="button" id="check" value="校验"></input>
<table id="test">
<tr>
<td>年龄1</td>
<td><input type="text" value="11"/></td>
<td>年龄2</td>
<td><input type="text" value="22"/></td>
</tr>
<tr>
<td>年龄11</td>
<td><input type="text" value="11"/></td>
<td>年龄22</td>
<td><select>
<option>10</option>
<option>20</option>
</select></td>
</tr>
<tr>
<td>数字1</td>
<td><input type="text" value="11"/></td>
<td>数字2</td>
<td><select>
<option>10</option>
<option>20</option>
</select></td><td>合计</td>
<td><input type="text" value="33"/></td>
</tr>
</table>
</body>
</html>
分享到:
相关推荐
例如,可以设置两个if条件: 1. 检查用户输入的值是否大于库存量。如果大于库存,提示用户并回滚到编辑前的值。 2. 检查用户输入的值是否为非整数,如字母、符号或空字符串。如果是,同样提示用户并恢复原值。 在...
**vxe-table-v2.9.24:Vue.js中的高效...通过这两个文件,开发者可以深入了解vxe-table的内部实现和如何在项目中集成使用。总体来说,vxe-table是一个功能全面、性能卓越的表格组件,能够满足大部分Web应用的表格需求。
### JavaScript 实现表格中两个TD元素的交换 在网页开发中,经常需要对HTML表格进行动态操作,例如调整单元格的位置、改变数据等。本文将详细介绍如何使用JavaScript来实现表格中两个`<td>`元素的位置交换。 #### ...
在本文中,我们将深入探讨如何在使用Element Plus的`el-...而`el-form`和`el-form-item`则提供了对表格内每个单元格的验证支持,确保数据输入的有效性。结合这两个方面,可以构建出高效且健壮的树形表格表单验证系统。
在介绍如何使用Vue.js结合Element UI实现点击编辑表格某一行时将内容填入表单的示例之前,首先需要了解几个核心概念: 1. Vue.js:它是一个用于构建用户界面的渐进式JavaScript框架,以数据驱动和组件化的思想设计...
4_5.htm 合并两个数组。 4_6.htm 创建多维数组。 4_7.htm 数组排序。 第5章(\5) 示例描述:JavaScript快速处理日期时间的操作。 5_1.htm 获取当前日期并显示在HTML页中。 5_2.htm 分别获取当前时间的...
5. **统计匹配总数**:统计所有单元格中匹配关键字的总数,并通过弹窗展示。 ##### 2.2 函数`encode`与`decode` 这两个函数分别用于对字符串进行编码和解码操作,确保字符串中的HTML特殊字符不会影响到正常的文本...
4_5.htm 合并两个数组。 4_6.htm 创建多维数组。 4_7.htm 数组排序。 第5章(\5) 示例描述:JavaScript快速处理日期时间的操作。 5_1.htm 获取当前日期并显示在HTML页中。 5_2.htm 分别获取当前时间的...
具体实现是调用了`IsDigit()`和`IsAlpha()`两个辅助函数,分别用于检测字符是否为数字和字母。只有当用户名全部由字母和数字组成时,才认为校验通过。 2. 邮箱格式校验:`chkEmail()`函数通过使用正则表达式来校验...
- 计算两个日期之间的差值。 ##### 1.44 Enter移到下一个输入框 - 当用户在输入框中按下回车键时,焦点自动转移到下一个输入框。 ##### 1.45 得到上传文件类型 - 获取用户上传文件的类型。 ##### 1.46 表格文字...
RowEditing功能的前端实现主要包括两个部分:JavaScript和CSS。JavaScript主要负责处理用户交互,如点击编辑按钮触发编辑模式,保存按钮提交更改,以及取消按钮恢复原始数据。CSS则用于美化编辑状态下的行,例如...
35. 斜线分隔内容:在单元格中添加斜线时,通常使用"/"或"|"作为内容的分隔符。 36. 参数引用符号:参数引用通常使用"${}"表示,绝对定位可能使用"$!"。 37. 字符数组解析:使用逗号分割字符串可以生成数组。 38....
输入框通过innerHTML属性直接写入到表格单元格中,这样就可以在页面上看到动态生成的输入框了。具体代码如下: ```javascript function addrows() { var len = optionlist.rows.length; // 得到table的行数 var ...
asp.net 导入excel时,处理合并表头、复杂表头、多行表头 1.解决复杂表头的Excel导入。可以解决任何复杂的表头。 2.导入时,显示请稍后。。。提醒框,完毕后会自动隐藏 3.全面扫描Excel数据,将所有异常详细信息写入...
在`drawTable`方法中,代码首先定义了一个基础的星期日到星期六的表格头部,然后通过两个嵌套的for循环来生成表格的行和列。代码中使用了模板字符串来构建HTML代码,这是一种ES6+的语法,允许通过字符串插值的方式...
这两个变量是整个渐变效果的核心数据结构,它们帮助我们跟踪当前正在处理的DOM元素以及对应的定时器。 ##### 2.2 函数定义 ```javascript function nereidFade(object, destOp, rate, delta) { // ... } ``` 此...
在WEB应用开发过程中,对于JavaScript原生类型的扩展是提高开发效率和代码可读性的有效手段之一。以下是《WEB应用组件开发指南》中提及的一些基本类型扩展方法: **1.1.1 String的扩展** - **`trim`** 方法用于...
文章中提到了ElementUI和Vuetable,这两个UI框架提供了丰富的组件和指令来实现复杂界面元素的快速构建。例如,ElementUI中的`<el-table>`组件就是用于构建表格的组件,该组件可以通过设置`show-overflow-tooltip`...