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下,点击循环中的一个进行操作的主要内容,如果未能解决你的问题,请参考以下文章