我的需求:如图:
选择的两个设备一样,数量累加起来之后不能大于库存数量,因为部门选择可能会不同,所以在这没有添加去重的判断。
下面是js中的代码:
var userIds2 = new Array();//定义一个存放设备主键的数组
var userArr=[];//定义一个数组
//下面这个判断的作用是如果主键不存在数组中,将新的数据添加在数组中,然后将数据存在另一个数组中,拖过存在的话,将存在的数据获取到,然后加上本次的数量,累加之后的数量赋值给之前存在的数组
在循环列表中添加的判断
for(var i=0;i<cl;i++){
var oCells = document.getElementById("beijianList").rows[i];
var id = oCells.cells[0].innerHTML;
var count = oCells.cells[1].innerHTML;
var total = oCells.cells[2].innerHTML;
if(userIds2.indexOf(id)==-1){
userIds2.push(id);
userArr.push({"id":id,"count":count,"total":total});
//id是主键,标识唯一,count,是输入的数量,total是库存数量
}else{
for(var j=0;j<userArr.length;j++){
var a = userArr[j].id;
if(a==id){
var b = parseFloat(userArr[j].count) + parseFloat(money);
userArr[j].count=b;
}
}
}
}
//下面这段的作用是:判断每一个设备累加的数量是否大于库存数量,如果大于库存,弹出提示
循环完之后,在for 循环外边添加的字段
for(var i=0;i<userArr.length;i++){
if(parseFloat(userArr[i].count)>parseFloat(userArr[i].total)){
alert('输入的数量大于库存数量')
}
}