js 行列操作
function insertRow() {
var tbl = document.getElementById("tbCarModel");
var rowLen = tbl.childNodes.length;
var newTr = tbl.insertRow(rowLen - 1);
// var newTr = document.createElement("tr");
// tbl.appendChild(newTr);
var td = document.createElement("td");
var temptd = td.cloneNode(1);
newTr.appendChild(temptd);
temptd.appendChild(createCarModel());
temptd = td.cloneNode(1);
newTr.appendChild(temptd);
temptd.appendChild(createNumber());
temptd = td.cloneNode(1);
newTr.appendChild(temptd);
temptd.appendChild(createCarSum());
temptd = td.cloneNode(1);
newTr.appendChild(temptd);
temptd.appendChild(createAddBtn());
}
function removeRow(tbl) {
if (tbl.rows.length > 3)
tbl.deleteRow(tbl.rows.length - 2);
getCarModel();
}
function upRow(tbl) {
var len = tbl.rows.length - 1;
tbl.rows[len].cells[3].firstChild.value = "删除一行";
}
function createCarModel() {
var text1 = document.createElement("input");
text1.onblur = function () {
if (text1.value.length > 20) {
alert("车型不能大于20");
text1.value = "";
return false;
}
}
return text1;
}
function createNumber() {
var text1 = document.createElement("input");
text1.onblur = function () {
if (text1.value.length > 20) {
alert("订单号不能大于20");
text1.value = "";
return false;
}
}
return text1;
}
function createCarSum() {
var text1 = document.createElement("input");
text1.onblur = function () {
var reg = new RegExp("^[0-9]*$"); // "^(.)*[0-9]*(.)*$"//"^[0-9]*$"
if (!reg.test(text1.value)) {
alert("请输入数字!");
text1.value = "";
}
getCarModel();
}
return text1;
}
function createAddBtn() {
var tbl = document.getElementById("tbCarModel");
var btn1 = document.createElement("input");
btn1.setAttribute("type", "button");
btn1.setAttribute("value", "删除一行");
btn1.onclick = function () {
// if (btn1.value == "添加一行") {
GetCarValues();
removeRow(tbl);
// insertRow();
// btn1.setAttribute("value", "删除一行");
// } else {
// if (tbl.rows.length > 2) {
// upRow(tbl);
//// }
}
// }
return btn1;
}
function getCarModel() {
var tbl = document.getElementById("tbCarModel");
var len = tbl.rows.length;
var row;
var ctl;
var result = 0;
var no;
for (var i = 1; i < len - 1; i++) {
row = tbl.rows[i];
ctl = row.cells[2].firstChild;
if (ctl.value == "" || ctl.value == null) {
no = 0;
} else {
no = parseInt(ctl.value);
}
result = result + no;
}
document.getElementById("ctl00_PlaceHolderMain_txtCarSum1").value = result;
}
function GetCarValues() {
var tbl = document.getElementById("tbCarModel");
var len = tbl.rows.length;
var row;
var ctl;
var result = "";
for (var i = 1; i < len - 1; i++) {
row = tbl.rows[i];
ctl = row.cells[0].firstChild;
result += ctl.value + "/";
ctl = row.cells[1].firstChild;
result += ctl.value + "/";
ctl = row.cells[2].firstChild;
result += ctl.value + "$";
}
document.getElementById("ctl00_PlaceHolderMain_hidCarModel").value = result;
}
function BindTable() {
var carValue = document.getElementById("ctl00_PlaceHolderMain_hidCarModel").value;
var carArray = new Array();
if (carValue != "")
carArray = carValue.split("$");
//添加空行
for (var i = 0; i < carArray.length - 1; i++) {
insertRow();
}
var tbl = document.getElementById("tbCarModel");
var len = tbl.rows.length;
var row;
var ctl;
var result = "";
var car11 = new Array();
for (var i = 1; i < len - 1; i++) {
car11 = carArray[i - 1].split("/");
row = tbl.rows[i];
ctl = row.cells[0].firstChild;
ctl.value = car11[0];
ctl = row.cells[1].firstChild;
ctl.value = car11[1];
ctl = row.cells[2].firstChild;
ctl.value = car11[2];
}
document.getElementById("ctl00_PlaceHolderMain_hidCarModel").value = result;
}
function CarModelLoad() {
var objCarType = $("#ctl00_PlaceHolderMain_SelCarType").val();
$("#lblCarType1").html(objCarType);
$("#lblCarType2").html(objCarType);
var objProjectName = $("#ctl00_PlaceHolderMain_SelProjectName").val();
$("#lblProjectName1").html(objProjectName);
$("#lblProjectName2").html(objProjectName);
$("#ctl00_PlaceHolderMain_SelCarType").change(function () {
var objCarType = $("#ctl00_PlaceHolderMain_SelCarType").val();
$("#lblCarType1").html(objCarType);
$("#lblCarType2").html(objCarType);
});
$("#ctl00_PlaceHolderMain_SelProjectName").change(function () {
var objProjectName = $("#ctl00_PlaceHolderMain_SelProjectName").val();
$("#lblProjectName1").html(objProjectName);
$("#lblProjectName2").html(objProjectName);
});
getCarModel();
}
function CheckValidForSave() {
if (IsValueNull(txtReason, "请填写申请原因!"))
return false;
if (IsValueNull(txtCarSum, "请填写申请车辆台数!"))
return false;
if (IsValueNull(txtEndTime, "请填写还款日期!"))
return false;
if (IsValueNull(txtCompanyName, "请填写公司名称!"))
return false;
var carNum1 = document.getElementById("ctl00_PlaceHolderMain_txtCarSum").value;
var carNum2 = document.getElementById("ctl00_PlaceHolderMain_txtCarSum1").value;
if (carNum1 != carNum2) {
alert("填写车辆数量不一致");
return false;
}
var reason = document.getElementById("ctl00_PlaceHolderMain_txtReason").value;
if (reason.length >= 200) {
alert("欠款发车原因过长,请控制在200字以内!");
return false;
}
var reason = document.getElementById("ctl00_PlaceHolderMain_txtCompanyName").value;
if (reason.length > 50) {
alert("公司签名不能大于50");
return false;
}
var date1 = document.getElementById("ctl00_PlaceHolderMain_txtEndTime").value;
var today = getNowFormatDate();
var startDate = new Date(today.replace("-", ",")).getTime();
var endDate = new Date(date1.replace("-", ",")).getTime();
if (startDate > endDate) {
alert("还款时间不能小于申请时间");
return false;
}
GetCarValues();
}
function CheckTable() {
var tbl = document.getElementById("tbCarModel");
var len = tbl.rows.length;
var row;
var ctl;
var result = "";
for (var i = 1; i < len - 1; i++) {
row = tbl.rows[i];
ctl = row.cells[0].firstChild;
result = ctl.value;
if (result == "") {
return false;
}
ctl = row.cells[1].firstChild;
result = ctl.value;
if (result == "") {
return false;
}
}
}
js 行列操作的更多相关文章
- jquery实现点击展开列表同时隐藏其他列表 js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象
这篇文章主要介绍了jquery实现点击展开列表同时隐藏其他列表的方法,涉及jquery鼠标事件及节点的遍历与属性操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery实现点击 ...
- js简单操作Cookie
贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...
- 使用HTML5的JS选择器操作页面中的元素
文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> ...
- node.js高效操作mongodb
node.js高效操作mongodb Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为Jav ...
- js字符串操作
javascript中字符串常用操作总结.JS字符串操作大全 String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是 ...
- Node.js之操作文件系统(一)
Node.js之操作文件系统(一) 1. 同步方法与异步方法 在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除操作.,在fs模块中,所有对文件及目录的操作都可以使用同步与异步 ...
- Node.js之操作文件系统(二)
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...
- js数组操作-添加,删除
js 数组操作常用方法. push():在数组后面加入元素,并返回数组的长度 unshift():在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素 shift()删除第一个元素 var ...
- 页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作
页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...
随机推荐
- 继承之后的使用注意事项_ArrayStoreException
今天在看Core In Java第五章节时,看到一个很感兴趣的知识点,如下: 在Java中,子类数组的引用可以转换成超类数组的引用,而不需要采用强制转换.但是,在超类数组的引用添加超类类型引用对象之后 ...
- Android-----输入法的显示和隐藏
/** * 控制手机虚拟键盘的显示和隐藏 */public class InputMethodUtil { /** * 隐藏虚拟键盘 * @param v 参数v为获取焦点对象view */ pub ...
- Niagara AX连接MySQL数据库
步骤如下 1.安装Niagara AX (3.8.38): 2.安装MySQL(5.6.25):将MySQL\Connector.J 5.1\mysql-connector-java-5.1.35-b ...
- iconv编码转换指令
看到一个不错的指令iconv,可以对文件编码进行转换,记录如下: iconv --list 列出所有支持转换的编码 icon -f code1 -t code2 filename -o newfile ...
- 第一章——第三节 intent的匹配原则
问题 一.三种匹配原则 二.匹配的原理 三.隐式启动Activity,如何判断跳转的Activity是否存在. 判断Intent是否可行的两种办法.
- 阿里巴巴JAVA常考面试题及汇总答案
一.String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的? 答: 1.String是字符串常量,StringBuffer和StringB ...
- MVC 过滤
我们来看两个接口: public interface IActionFilter { // Methods void OnActionExecuted(ActionExecutedContext fi ...
- Obstack是C标准库里面对内存管理的GNU扩展
Obstack是C标准库里面对内存管理的GNU扩展 Obstack介绍 Obstack初始化 在Obstack中申请对象 释放对象 申请growing object 获取Obstack状态 数据对齐 ...
- mysqldump 的方式来搭建master-->slave 的复制架构
1.master 上要满足的最小条件: 1.server_id 已经设置成了一个非0值 2.log_bin 配置好binlog 2.slave 上要满足的最小条件 1.server_id 已经设置成了 ...
- SQL Server 索引重建的 4 种方法
解决方法 方法 1. 重建指定索引,这种方法没有性能可谈.重建时表还不可访问. 方法 2. 在线重建索引,只有SQL Server 企业版才支持. 方法 3. 使用填充因子重建,这样做不一定可以减小查 ...