最近做了一个项目,涉及到了采购这块,对每一笔采购里面,都需要详细录入采购的具体物品,包括名称,数量,单价,总结和重量,如图:
因为物品不固定,所以需要动态的添加,这个功能以前做过,采用是jquery的一种方式,下面介绍一种采用纯javascript,对表格的操作
首先在页面中加入javascript代码块
其次是html的代码
采购明细:
名称 | 数量 | 单价 | 价格 | 类别 | 重量 | 删除 |
---|---|---|---|---|---|---|
¥ | ¥ | |||||
上面这块有几点需要说一下
1、默认显示一行,这个需要另外写出来,为了方便后期的读取,我们把显示的这一行放在后面
2、这里面涉及到了计算问题,需要获得当前点击行的相关值,可以看一下例子
下面就是通过后他代码操作这些数据了
string productName = Request["proName"].ToString(); //采购产品名称 string[] productNameList = productName.Split(','); string productCount = Request["proCount"].ToString(); //采购产品数量 string[] productCountList = productCount.Split(','); string productPrice = Request["proPrice"].ToString(); //采购产品单价 string[] productPriceList = productPrice.Split(','); string productTotal = Request["proTotal"].ToString(); //采购产品总价 string[] productTotalList = productTotal.Split(','); string protype = Request["proType"].ToString(); //采购产品分类 string[] productTypeList = protype.Split(','); string proWeight = Request["proWeight"].ToString(); string[] proweightList = proWeight.Split(','); for (int i = 1; i < productNameList.Length; i++) { TPurchase purchase = new TPurchase(); purchase.ProName= productNameList[i].ToString(); purchase.ProCount = productCountList[i].ToString() == "" ? 0 : Convert.ToInt32(productCountList[i].ToString()); purchase.ProPrice = productPrice[i].ToString() == "" ? 0 : Convert.ToDecimal(productPriceList[i].ToString()); purchase.ProTotal = Convert.ToDecimal(productTotalList[i].ToString()); purchase.ProType = productTypeList[i].ToString(); purchase.ProWeight = proweightList[i].ToString(); purchase.Fid = Convert.ToInt32(result); Purchasebll.Add(purchase); }
然后就可以把数据添加到数据库中了,这一点需要说明的是,这个详细的采购物品清单最好单独设置一个表,这样方便操作