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


Posted in Javascript onNovember 22, 2016

我们在开发项目的时候经常会在后台管理时用到批量展示功能来动态的修改数据库的值。下面以修改数据库的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' /> 全选
</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状态值(批量展示),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
Jul 15 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
Jul 15 Javascript
js实现的map方法示例代码
Jan 13 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
Aug 24 Javascript
JS中三目运算符和if else的区别分析与示例
Nov 21 Javascript
js数组常见操作及数组与字符串相互转化实例详解
Nov 10 Javascript
JavaScript与HTML的结合方法详解
Nov 23 Javascript
详解JavaScript对象序列化
Jan 19 Javascript
javascript对象的创建和访问
Mar 08 Javascript
jQuery过滤选择器经典应用
Aug 18 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
Jun 17 Javascript
vue中的使用token的方法示例
Mar 10 Javascript
AngularJS中指令的四种基本形式实例分析
Nov 22 #Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
Nov 22 #Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 #Javascript
详解js中Json的语法与格式
Nov 22 #Javascript
AngularJS中一般函数参数传递用法分析
Nov 22 #Javascript
javascript入门之string对象【新手必看】
Nov 22 #Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 #Javascript
You might like
php显示时间常用方法小结
2015/06/05 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
jQuery的实现原理的模拟代码 -3 事件处理
2010/08/03 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
jQuery中:input选择器用法实例
2015/01/03 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
python进阶教程之文本文件的读取和写入
2014/08/29 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
毕业生优秀推荐信
2013/11/26 职场文书
旅游业大学生创业计划书
2014/01/31 职场文书
两只小狮子教学反思
2014/02/05 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
Vue全家桶入门基础教程
2021/05/14 Vue.js
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android
Python使用MapReduce进行简单的销售统计
2022/04/22 Python