第一种方法,是给点击元素绑定事件,用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. I - Doing Homework again(贪心)

    I - Doing Homework again Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  2. 第五课 nodejs 路由实现并处理请求作出响应

    1创建一个http Server 文件server.js var http = require('http');var url = require('url');function start(rout ...

  3. <2013 12 01> 一篇很好的关于windows编程的入门指导(2013年末写的,比较前沿)

    我之前做了不少嵌入式开发,从单片机到ARM到RTOS到Linux等等,可以说走的是电气工程师的路线,对编程也是实用性的,跟计算机学院的科班套路不同.最近同学做一个windowsCE的项目请我帮忙,之前 ...

  4. MySQL 的约束

    约束是添加在列上, 用来约束列的! 1. 主键约束(表中的某行的唯一标识) 主键的特点: 非空 唯一 被引用 创建表时, 指定主键的两种方式: // 需求: 指定 sid 列为主键列, 即为 sid ...

  5. SQL SERVER临时表的使用

    SQL SERVER临时表的使用 drop table #Tmp   --删除临时表#Tmpcreate table #Tmp --创建临时表#Tmp(    ID   int IDENTITY (1 ...

  6. Python3.6全栈开发实例[001]

    检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. li = [11,22,33,44,55,66,77,88,99,000,111,222] def func1(l ...

  7. hbase shell编码显示中文

    最近测试hbase shell,碰到个中文显示编码问题,最后通过Python解决了问题,具体操作如下: hbase(main):015:0* scan 'fr_test_hbase:test_log1 ...

  8. Oracle 报 ORA-21561: OID generation failed 错误 mac 链接oracle

    简单的说:在终端输入:sudo scutil --set HostName localhost

  9. 曾经跳过的坑------JS中对象与结构体的声明和调用

    直接上代码 正确的写法 //同一个ready方法中var viewModel = { // self.projectCode = PROJECT_CODE; BOOKEDCOUNT : 5, TOTA ...

  10. 谷歌机器学习速成课程---2深入了解机器学习(Descending into ML)

    1.线性回归 人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁.数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录.Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送 ...