第一种方法,是给点击元素绑定事件,用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下,点击循环中的一个进行操作的更多相关文章

  1. .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter

    林德熙 小伙伴希望保存一个文件,并且希望如果出错了也要不断地重试.然而我认为如果一直错误则应该对外抛出异常让调用者知道为什么会一直错误. 这似乎是一个矛盾的要求.然而最终我想到了一个办法:让重试一直进 ...

  2. Java循环中删除一个列表元素

    本文主要想讲述一下我对之前看到一篇文章的说法.假设跟你的想法有出入,欢迎留言.一起讨论. #3. 在循环中删除一个列表元素 考虑以下的代码.迭代过程中删除元素: ArrayList<String ...

  3. shell下在while循环中使用ssh命令的问题

    1 现象描述 最近使用ssh批量执行命令(已经做了密钥互信了),脚本读取配置文件中的主机列表(内容为每行一台主机IP地址),然后执行,可是每次只是执行第一台,就退出循环了. 2 排查思路 由于脚本比较 ...

  4. for循环中进行联网请求数据、for循环中进行异步数据操作,数据排序错乱问题解决;

    for循环中进行联网请求数据,由于网络请求是异步的,第一个网络请求还没有回调,第二次第三次以及后续的网络请求又已经发出去了,有可能后续的网络请求会先回调:这时我们接收到的数据的排序就会错乱:怎么才能让 ...

  5. Create an op on tensorflow; 在tensorflow 1.7/2.0 中创建一个 Op操作

    最近项目,需要创建一个 tensorflow 的一个自定义操作,用来加速tensorflow的处理效果:下面对创建过程中,遇到的问题和资源进行简要记录,进行备忘: OP 创建 参考链接: https: ...

  6. JavaScript的for循环中嵌套一个点击事件为何点击一次弹出多个相同的值

    先看下面一段代码: for(var i=0; i<10; i++) { $('#ul').bind('click', function() { alert(i) }) } 对于这段代码,当点击I ...

  7. python循环中对一个列表的赋值问题

    参考:https://www.cnblogs.com/zf-blog/p/10613981.html https://www.cnblogs.com/andywenzhi/p/7453374.html ...

  8. 点击tablecell中的一个按钮,确定cell所在的行

    - (void) del:(UIButton *) button { NSLog(@"%s",__FUNCTION__); UITableViewCell * cell = (UI ...

  9. C# Stopwatch获取循环中某操作的时间消耗

    在C#中通常使用DateTime来表示当前时间,可以在一个操作的前后分别使用一个DateTime对象获取当前时间,再将两个DateTime对象相减获得时间差(TimeSpan对象),从而得到这个操作耗 ...

随机推荐

  1. EasyNVR无插件直播流媒体服务器云端集中管控的EasyNVS云管理平台安装使用文档

    EasyNVS - EasyNVR云端集中管理服务 EasyNVS云管理平台是一套专门用于集中化管理EasyNVR 的解决方案. EasyNVR 采用主动注册的方式接入到 EasyNVS, 再由 Ea ...

  2. virgo使用指南

    一.说明: 一个windows虚拟桌面软件,很小,不到10K,占用内存也极小.超级方便. 二.GitHub地址: henkman/virgo: Virtual desktops for Windows ...

  3. SharePoint服务器端对象模型 之 访问网站和列表数据(Part 3)

    (三)视图 与传统意义上的数据视图类似,SharePoint中的列表视图指定了列表中数据的筛选条件.排序条件.分组条件.显示栏/字段.显示条目数.显示样式等内容.在SharePoint中,使用SPVi ...

  4. 为什么要提倡"Design Pattern"呢? 开闭原则 系统设计时,注意对扩展开放,对修改闭合。

    [亲身经历] 无规矩不成方圆 设计模式 - 搜狗百科 https://baike.sogou.com/v123729.htm?fromTitle=设计模式 为什么要提倡"Design Pat ...

  5. Jsp页面截取字符串

    用jstl标签: 首先页面中引入<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions ...

  6. 我的Android进阶之旅------>Android的ListView数据更新后,如何使最新的条目可以自动滚动到可视范围内?

    在ListView的layout配置中添加 android:transcriptMode="alwaysScroll" <ListView android:id=" ...

  7. 爬取豆瓣电影信息保存到Excel

    from bs4 import BeautifulSoup import requests import html.parser from openpyxl import Workbook,load_ ...

  8. (2)linux未使用eth0,未使用IPV4导致无法连接

    首先ifconfig查看网络IP 看,我这里默认启用了2个网卡,一个是eth0,另一个是lo(基于loopback方式) 1.如果有eth0则做:界面修改 (1)输入命令setup,选择network ...

  9. 74LS85 比較器 【数字电路】

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011368821/article/details/27959219 74LS85 demo: 11 ...

  10. 20170413 F110学习

                  F110 学习: Tcode: F110  自动付款业务, FBZP   维护收付程序设置 FBL1N   供应商行项目 XK03   显示供应商(银行信息维护) F110 ...