volist/foreach下,点击循环中的一个进行操作

Posted guoyinglichong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了volist/foreach下,点击循环中的一个进行操作相关的知识,希望对你有一定的参考价值。

第一种方法,是给点击元素绑定事件,用ajax将值传到控制器中,其中传的值,用jquery选择器选择值。

1、在html

<foreach name="save" item="vo">
  <tr>
    <td align="center">{$vo.sid}</td>
    <td>{$vo.orderid}</td>
    <td>{$vo.username}</td>
    <td><input name="newmoney" value="{$vo.money}"></td>
    <td>{$vo.paynumber}</td>
    <td>{$vo.save_time}</td>
    <td>未受理</td>
    <td>
       <p class="btn btn-primary save">储值</p>
         <p class="btn btn-primary nosave" style="margin-top:1px">拒绝</p>
       </td>
    </tr>
 </foreach>

1、在js中

<script>
    $(function(){
        $(".save").click(function(){
            var sid = $(this).parent().parent().find(‘td‘).eq(0).text();
            var username = $(this).parent().parent().find(‘td‘).eq(2).text();
            var newmoney = $(this).parent().parent().find(‘td‘).eq(3).find("input[name=‘newmoney‘]").val();
            // alert(sid);alert(username);alert(newmoney);
            var url = "{:U(‘save/add‘)}";
            var t = $(this);

            $.post(url,{"sid":sid,"username":username,"newmoney":newmoney,"saves":‘1‘},function(data){
                data = jQuery.parseJSON(data);
                // console.log(data[‘newmoney‘]);
                var n = t.parent().parent().find(‘td‘).eq(3);
                n.empty();
                n.text(data[‘newmoney‘]);
                var t2 = t.next();
                t.attr(‘class‘,‘‘);
                t.empty();
                t.html(‘<a style="color:#9c9c9c">已储值</a>‘);
                t2.attr(‘class‘,‘‘);
                t2.empty();
                t2.html(‘‘);
            });
        });
        $(".nosave").click(function(){
            var sid = $(this).parent().parent().find(‘td‘).eq(0).text();
            var username = $(this).parent().parent().find(‘td‘).eq(2).text();
            var newmoney = $(this).parent().parent().find(‘td‘).eq(3).find("input[name=‘newmoney‘]").val();
            // alert(sid);alert(username);alert(newmoney);
            var url = "{:U(‘save/add‘)}";
            var t = $(this);

            $.post(url,{"sid":sid,"username":username,"newmoney":newmoney,"saves":‘0‘},function(data){
                data = jQuery.parseJSON(data);
                // console.log(data[‘newmoney‘]);
                var n = t.parent().parent().find(‘td‘).eq(3);
                n.empty();
                n.text(data[‘newmoney‘]);
                var t2 = t.prev();
                t.attr(‘class‘,‘‘);
                t.empty();
                t.html(‘<a style="color:#9c9c9c">已拒绝</a>‘);
                t2.attr(‘class‘,‘‘);
                t2.empty();
                t2.html(‘‘);
            });
        });
    });

    </script>

1、php(tp控制器中)

public function add(){
        $sid = intval(I(‘sid‘));
        $saves = intval(I(‘saves‘));

        $money = doubleval(I(‘newmoney‘));

        $user = I(‘username‘);

        //判断是拒绝还是储值
        if($saves == 1)
        {
            //将$sid传到前台页面的jq中的data中
            $js[‘sid‘] = $sid;
            $js[‘newmoney‘] = $money;
            $js[‘username‘] = $user;
            $js[‘saves‘] = $saves;

            //在cmf_q_users表中加上存储的钱
            $users = D(‘q_users‘);
            $result1 = $users
            ->field(‘coin‘)
            ->where("user_login = ‘$user‘")
            ->find();

            $coins = doubleval($result1[‘coin‘]);
            //为q_users表准备数据
            $data1[‘coin‘] = $coins + $money;

            //更新q_users表中的总余额
            $result2 = $users
            ->where("user_login = ‘$user‘")
            ->save($data1);

            $save = D(‘save‘);
            //为save表里准备数据
            $data2[‘status‘] = 1;
            $data2[‘handle_personid‘] = $_SESSION[‘ADMIN_ID‘];
            // 处理时间
            $data2[‘handle_time‘] = date(‘Y-m-d H:i:s‘);

            // 判断一下状态 如果已经处理完了,那么提示
            $status = M(‘save‘)->where(‘‘);
            //向save表里更新数据
            $result = $save
            ->where("sid = $sid")
            ->save($data2);

            //ordersid从save表里查询
            $ordersid = $save
            ->where("sid = $sid")
            ->getField(‘orderid‘);

            $records = D(‘records‘);

            //为records表准备数据
            $data3[‘ordersid‘] = $ordersid;
            $data3[‘rtype‘] = ‘存款‘;
            $data3[‘usernames‘] = $user;
            $data3[‘change_time‘] = $data2[‘handle_time‘];
            $data3[‘before_coin‘] = $coins;
            $data3[‘change_coin‘] = $money;
            $data3[‘after_coin‘] = $data1[‘coin‘];

            //向records表中添加数据
            $result3 = $records
            ->add($data3);

            echo json_encode($js,true);        
        } else if($saves == 0){

            $js[‘sid‘] = $sid;
            $js[‘newmoney‘] = $money;
            $js[‘username‘] = $user;
            $js[‘saves‘] = $saves;

           $save = D(‘save‘);
            //为save表里准备数据
            $data2[‘status‘] = 11;
            $data2[‘handle_personid‘] = $_SESSION[‘ADMIN_ID‘];
            // 处理时间
            $data2[‘handle_time‘] = date(‘Y-m-d H:i:s‘);

            // 判断一下状态 如果已经处理完了,那么提示
            $status = M(‘save‘)->where(‘‘);
            //向save表里更新数据
            $result = $save
            ->where("sid = $sid")
            ->save($data2); 

            echo json_encode($js,true);
        }
        
    }

第二种方法,(从控制器传到前端页面的值,同一字段对应不同的值,h5前端页面中镶嵌着script

,script中有document.write();)

<foreach name="listorder" item="vo">
  <dl class="tag_div">
    <a onclick="xiangqing({$vo.id},{$vo.money},{$vo.noupdate})"><dl class="tag_div7">{$vo.orderid}</dl></a>
    <dl class="tag_div8">{$vo.game}</dl>
    <dl class="tag_div9">{$vo.tid}</dl>
    <dl class="tag_div11">{$vo.type}</dl>
    <dl class="tag_div125">元</dl>
    <dl class="tag_div15">{$vo.money}</dl>
    <dl class="tag_div15">
      <script>
         if ({$vo.win_money}==0){
                document.write("-");
              }else{
                document.write({$vo.win_money});
              }
          </script>
       </dl>
       <dl>
         <script>
           if ({$vo.status}==‘0‘){
             if ({$vo.noupdate}==‘0‘) {
               document.write("<dl class=‘tag_div16‘>未封盘</dl>");
             }
             if ({$vo.noupdate}==‘1‘) {
                 document.write("<dl class=‘tag_div16‘>已封盘</dl>");
              }
              if ({$vo.noupdate}==‘2‘) {
                document.write("<dl class=‘tag_div16‘>已撤单</dl>");
               }
            }
              if ({$vo.status}==‘1‘){
                 document.write("<dl class=‘tag_div16‘>已开奖</dl>");
              }
                  
              </script>
              </dl>
              <script type="text/javascript">
                if({$vo.status} == ‘0‘){
                  if({$vo.noupdate} != ‘2‘) {
                    document.write("<a id=‘chedan‘ onclick=‘beforechedan({$vo.id},{$vo.money})‘><dl class=‘tag_div125‘>撤单</dl></a>");
                  } else {
                    document.write("<dl class=‘tag_div125‘>不可撤单</dl>");
                  }
                } else {
                  document.write("<dl class=‘tag_div125‘>不可撤单</dl>");
                }
              </script>
          </dl>
         </foreach>

 

以上是关于volist/foreach下,点击循环中的一个进行操作的主要内容,如果未能解决你的问题,请参考以下文章

java循环越跑越慢为啥?高手进

win10自动修复失败无限循环是怎么回事?

单片机指令RLC A带进位的循环转移,怎么进位呀?进位进到哪里去呀?可以举一个例子吗?

vue中的增删查改

esxi win10如何进安全模式

广播循环播放怎么设置