使用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 相关文章推荐
document.getElementById为空或不是对象的解决方法
Jan 24 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
使用js简单实现了tree树菜单
Nov 20 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
Dec 29 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
Nov 13 Javascript
JavaScript中判断两个字符串是否相等的方法
Jul 07 Javascript
JavaScript判断是否是微信浏览器
Jun 13 Javascript
为什么我们要做三份 Webpack 配置文件
Sep 18 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
详解基于vue的服务端渲染框架NUXT
Jun 20 Javascript
React手稿之 React-Saga的详解
Nov 12 Javascript
用Fundebug插件记录网络请求异常的方法
Feb 21 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新手上路(十三)
2006/10/09 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
vue实现循环切换动画
2018/10/17 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
深入理解python中的select模块
2017/04/23 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
解读! Python在人工智能中的作用
2017/11/14 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
JS原生实现轮播图的几种方法
2021/03/23 Javascript
学生会竞选自荐信
2013/10/12 职场文书
解除劳动合同协议书
2014/04/14 职场文书
投资建议书模板
2014/05/12 职场文书
2015年卫生局工作总结
2015/07/24 职场文书