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


    我们在开发项目的时候经常会在后台管理时用到批量展示功能来动态的修改数据库的值。下面以修改数据库的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;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;8%;" class="lf">商品编号</th>
                            <th style="background-color:#f7f7f7;13%;" class="lf">名称</th>
                            <th style="background-color:#f7f7f7;18%;" class="lf">标题</th>
                            <if condition="$type eq 'pg'">
                            <th style="background-color:#f7f7f7;8%;" class="lf">品牌</th>
                            </if>
                            <th style="background-color:#f7f7f7;8%;" class="lf">组别</th>
                            <th style="background-color:#f7f7f7;5%;" class="lf">排序</th>
                            <th style="background-color:#f7f7f7;5%;" class="lf">状态</th>
                            <th style="background-color:#f7f7f7;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="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="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;
    
        }
  • 相关阅读:
    apache22与mod_mono
    设计模式之行为型模式
    jquery实现excel导出
    桥本分数式问题的C++算法
    [深入浅出iOS库]之图形库Core Plot
    HDU 1069 Monkey and Banana
    程序员咋学习
    JavaSocket通信(双向,有界面)
    BZOJ 3098(Hash Killer II生日攻击)
    [置顶] iPhone 5S及iWatch或将采用指纹验证技术
  • 原文地址:https://www.cnblogs.com/yangzailu/p/6088622.html
Copyright © 2020-2023  润新知