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 行列操作的更多相关文章

  1. jquery实现点击展开列表同时隐藏其他列表 js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象

    这篇文章主要介绍了jquery实现点击展开列表同时隐藏其他列表的方法,涉及jquery鼠标事件及节点的遍历与属性操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery实现点击 ...

  2. js简单操作Cookie

    贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...

  3. 使用HTML5的JS选择器操作页面中的元素

    文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> ...

  4. node.js高效操作mongodb

    node.js高效操作mongodb Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为Jav ...

  5. js字符串操作

    javascript中字符串常用操作总结.JS字符串操作大全 String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是 ...

  6. Node.js之操作文件系统(一)

    Node.js之操作文件系统(一) 1. 同步方法与异步方法 在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除操作.,在fs模块中,所有对文件及目录的操作都可以使用同步与异步 ...

  7. Node.js之操作文件系统(二)

    Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...

  8. js数组操作-添加,删除

    js 数组操作常用方法. push():在数组后面加入元素,并返回数组的长度 unshift():在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素 shift()删除第一个元素 var ...

  9. 页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作

    页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...

随机推荐

  1. jquery mouseout和mouseleave区别

    mouseout()和mouseleave() 都是鼠标移出元素时触发,但是这两者又有所区别,需要大家留意: 不论鼠标指针离开指定元素还是该元素子元素,都会触发 mouseout 事件. 只有在鼠标指 ...

  2. Windows - 程序猿应该熟记的CMD常用命令

    notepad 计事本 mspaint 画图 iisreset 重启IIS appwiz.cpl 控制面板 inetmgr IIS管理器 eventvwr 事件查看器 mstsc 远程桌面 net s ...

  3. 要将程序集“xxx.dll”标记为系统必备组件,必须对其进行强签名

    最近编译经常偶尔出现标题这个错误,有时重启电脑,就正常了,有时重启也不行,真蛋疼,后来发现把dll预先拷贝到生成目录,也可以避免这个编译错误,但是实在是麻烦,再去Google了半天,终于找到了解决方案 ...

  4. 常用的方法,读取XML节点并赋值给List集合

    一.前言 很多时候也可以直接在XML文件中配置好节点,在程序需要用到的时候,修改XML文件并不需要重新编译,这里是在极光推送中拿出来的一部分代码.代码简单,大家直接看例子吧. 二.实现过程 1.新创建 ...

  5. 1.想写一些关于c++的东西了,就作为个开篇吧

    又再一次重拾c++,想写一些东西,给自己看看,不想再看一些隐晦翻译的外国书籍了,就从一本好读的书开始写一写. 就这本吧, <我的第一本C++书>> 来写一写自己的东西.

  6. 循环小数 UVa202

    输入整数a和b(0<=a<=3000,1<=b<=3000),输出a/b的循环小数表示以及循环节长度. 例如,a=5,b=43,小数表示为0.(1162790697674418 ...

  7. 写一个Windows上的守护进程(7)捕获异常并生成dump

    写一个Windows上的守护进程(7)捕获异常并生成dump 谁都不能保证自己的代码不出bug.一旦出了bug,最好是崩溃掉,这样很快就能被发现,若是不崩溃,只是业务处理错了,就麻烦了,可能很长时间之 ...

  8. EcStore中的App是什么东西?

    Ecstore中的App不是手机上的App,它是一个Web应用包,集合了Web应用的后端PHP程序.Mysql数据表定义,以及前端HTML+CSS+JS展现,通常是实现某个业务功能,如购物车.促销.支 ...

  9. FSG压缩壳和ImportREC的使用 - 脱壳篇05

    FSG压缩壳和ImportREC的使用 - 脱壳篇05 让编程改变世界 Change the world by program FSG这个壳可以说是有点儿不守妇道,尼玛你说你一个压缩壳就实现压缩功能得 ...

  10. JS设置获取cookies

    结合JavaScript权威指南,加上项目开发时在网上搜集的资料,整理了两种设置和获取cookie的方法. <script> //设置cookie  方法一function setCook ...