直奔主题,对比常用的两个开源商城系统关于库存的修改特效
ecshop
opencar
ecshop在这方面比opencar要好,因此采用ecshop的效果做例子。
实现的方式很简单,都是通过js的事件来触发,然后传值,ajax传后台处理,以下为每行解析
<!--onchange事件附带的参数为商品的id,而input的id则为由自身遍历出来的id+字符串组装,js通过input的id来获取输入的库存量-->
<td><input type="text" οnchange="anx(<?php $goods_id=$value['goods_id']; $goods_id=substr($goods_id,0,-3);echo $goods_id;?>);" style="width:150px;" id="<?php $goods_id=$value['goods_id']; $goods_id=substr($goods_id,0,-3);echo $goods_id."fx";?>" class="am-form-field" placeholder="请输入库存量" value="<?php echo $value['goods_number'];?>"></td>
function anx(goods_id){//因为函数作用域问题,不能通过this.value来获取值,而且w3c的例子也是通过获取id来获取值
var goodsNum=document.getElementById(goods_id+"fx");
goodsNum=goodsNum.value;
$.ajax({
type:"post",
data:{goods_id:goods_id,goods_num:goodsNum},
url:"<?php echo site_url("gallery/editGoodsNum");?>",
dataType:"json",
success:function(data){
alert("修改库存成功");
}
})
}