使用JS批量选中功能实现更改数据库中的status状态值(批量展示)

时间:2021-05-25

我们在开发项目的时候经常会在后台管理时用到批量展示功能来动态的修改数据库的值。下面以修改数据库的status状态值来实现批量展示功能。批量选中功能引用js来实现。

前端html代码:

<table class="mlt" style="border:1px solid red;"><thead><tr><if condition="$type eq 'pg'"><th colspan="9" style="text-align:left;padding-left:20px;background-color:#e5e4e4;color:#c10e23;">实物商品</th><else/><th colspan="8" style="text-align:left;padding-left:20px;background-color:#e5e4e4;color:#c10e23;">虚拟商品</th></if><th style="background-color:#e5e4e4;"><a href="{:U('Mall/AddMall',array('type'=>$type))}" style="color:#c10e23;text-decoration:none;">+新增商品</a></th> </tr><tr><th style="background-color:#f7f7f7;width:8%;text-align:center;" class="lf"><input name='chkAll' type='checkbox' id='chkAll' onClick="checkAll(this, 'id[]')" value='checkbox' />&nbsp;全选</th><th style="background-color:#f7f7f7;width:8%;" class="lf">商品编号</th><th style="background-color:#f7f7f7;width:13%;" class="lf">名称</th><th style="background-color:#f7f7f7;width:18%;" class="lf">标题</th><if condition="$type eq 'pg'"><th style="background-color:#f7f7f7;width:8%;" class="lf">品牌</th></if><th style="background-color:#f7f7f7;width:8%;" class="lf">组别</th><th style="background-color:#f7f7f7;width:5%;" class="lf">排序</th><th style="background-color:#f7f7f7;width:5%;" class="lf">状态</th><th style="background-color:#f7f7f7;width:10%;">图标</th><th style="background-color:#f7f7f7;text-align:center;" class="lf">操作</th></tr></thead><tbody><volist name="list" id="vo"><tr><td class="lf" style="text-align:center;"><input name='id[]' type='checkbox' value='{$vo.id}' onClick="checkItem(this, 'chkAll')"></td><td class="lf">{$vo['code']}</td><td class="lf">{$vo['name']}</td><td class="lf">{$vo['title']}</td><if condition="$type eq 'pg'"><td class="lf">{$vo['brand']}</td></if><td class="lf">{$vo['ggroup']}</td><td class="lf">{$vo['sortno']}</td><td class="lf"><if condition="$vo['status'] eq 1">展示<else/>不展示</if></td><td><img src="{$vo['base_img']}" style="width:40px;" /></td><td class="lf" style="text-align:center;"><a href="{:U('Mall/NextLevel',array('pid'=>$vo['id']))}" class='cz' style="text-decoration:none;">编辑子信息</a><a href="{:U('Mall/UpdateMall',array('id'=>$vo['id']))}" class='cz' style="text-decoration:none;margin:0 7px;">编辑</a><a href="{$Think.config.WEB_URL}/Shop/GoodsDetails.html?pid={$vo['id']}&type={$vo['type']}" class='cz' style="text-decoration:none;" target="_Blank">查看</a></td></tr></volist><tr height="45"><td colspan="10" style="text-align:left;padding-left:40px;"><input type="button" id="btn_show" value="批量展示" class="btn_normal" style="width:100px;margin-left:20px;"></td> </tr></tbody></table><div>{$page}</div>

js代码使用ajax提交代码到后台GoodsShow()方法:

<script type="text/javascript">var ids = []; //把得到的is转化为数组形式$('#btn_show').click(function(){btnCheck('展示');data = {"ids":ids};$.ajax({type:"POST",url:"{:U('Mall/GoodsShow')}",data:data,//dataType:"json",success:function(msg){if(msg == 00){ //如果msg=00则修改成功alert("批量展示成功");window.location.href='/index.php/Admin/Mall/MallList'; //修改完成后自动刷新}else{alert("批量展示失败,请重新编辑");}},error:function(){alert("批量编辑失败,请重新编辑"); //错误提示}}); });function btnCheck(info){ var obj = $("input[name='id[]']:checked").each(function(){ //得到选中的id的每一个值并且这个值为一个数组ids.push($(this).val()); });if (ids == false) { alert("请选定要"+info+"的商品");return false;}else {return ids; }}</script>

后台GoodsShow()方法:

public function GoodsShow(){$goods=M('shop_goods_info'); //实例化要使用的数据表$data = I(); //获取前台页面获取的id值(这个值为一个一位数组)//var_dump(I('ids'));die(); //打印$id=implode(',',I('ids')); //把得到的这个数组用implode方法拆分 //var_dump(I('id'));die(); //打印查看$order=$goods->where("id in ($id)")->setField('status','1'); //用得到的$id的值匹配数据库中的id值,并设置id下的status字段值为1.if($order>=1){ // 如果...else... $remark="00";}else{$remark="01";}echo $remark;}

以上所述是小编给大家介绍的使用JS批量选中功能实现更改数据库中的status状态值(批量展示),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章