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下,点击循环中的一个进行操作的更多相关文章
- .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
林德熙 小伙伴希望保存一个文件,并且希望如果出错了也要不断地重试.然而我认为如果一直错误则应该对外抛出异常让调用者知道为什么会一直错误. 这似乎是一个矛盾的要求.然而最终我想到了一个办法:让重试一直进 ...
- Java循环中删除一个列表元素
本文主要想讲述一下我对之前看到一篇文章的说法.假设跟你的想法有出入,欢迎留言.一起讨论. #3. 在循环中删除一个列表元素 考虑以下的代码.迭代过程中删除元素: ArrayList<String ...
- shell下在while循环中使用ssh命令的问题
1 现象描述 最近使用ssh批量执行命令(已经做了密钥互信了),脚本读取配置文件中的主机列表(内容为每行一台主机IP地址),然后执行,可是每次只是执行第一台,就退出循环了. 2 排查思路 由于脚本比较 ...
- for循环中进行联网请求数据、for循环中进行异步数据操作,数据排序错乱问题解决;
for循环中进行联网请求数据,由于网络请求是异步的,第一个网络请求还没有回调,第二次第三次以及后续的网络请求又已经发出去了,有可能后续的网络请求会先回调:这时我们接收到的数据的排序就会错乱:怎么才能让 ...
- Create an op on tensorflow; 在tensorflow 1.7/2.0 中创建一个 Op操作
最近项目,需要创建一个 tensorflow 的一个自定义操作,用来加速tensorflow的处理效果:下面对创建过程中,遇到的问题和资源进行简要记录,进行备忘: OP 创建 参考链接: https: ...
- JavaScript的for循环中嵌套一个点击事件为何点击一次弹出多个相同的值
先看下面一段代码: for(var i=0; i<10; i++) { $('#ul').bind('click', function() { alert(i) }) } 对于这段代码,当点击I ...
- python循环中对一个列表的赋值问题
参考:https://www.cnblogs.com/zf-blog/p/10613981.html https://www.cnblogs.com/andywenzhi/p/7453374.html ...
- 点击tablecell中的一个按钮,确定cell所在的行
- (void) del:(UIButton *) button { NSLog(@"%s",__FUNCTION__); UITableViewCell * cell = (UI ...
- C# Stopwatch获取循环中某操作的时间消耗
在C#中通常使用DateTime来表示当前时间,可以在一个操作的前后分别使用一个DateTime对象获取当前时间,再将两个DateTime对象相减获得时间差(TimeSpan对象),从而得到这个操作耗 ...
随机推荐
- AJAX 异步传数组时候,后台接收不到!
呵呵,那么问题又来了! 这是为啥呢!! var ids= []; $.ajax({ url: 'xxxx.do', data: { ids: ids}, dataType: "json&qu ...
- CAS单点登录------302个没完没了
我的配置如上 背景:Shiro + Cas 进行的单点登录配置! 其实这个问题很扯淡!看代码! 我本在shiro里面配置的Sucessurl !嘿嘿!我哭了!屌用没有! 我一脸懵逼大写的WHY??? ...
- Windows下比较小巧的c/c++ ide
下载:codeblocks 只有几十兆. http://www.codeblocks.org/downloads/26#windows codeblocks-16.01mingw-nosetup.zi ...
- MySQL 中有关auto_increment及auto_increment_offset方面的介绍
数据库查询中,涉及到auto_increment中的参数变量一共有两个 [root@localhost][(none)]> show variables like 'auto_inc%'; +- ...
- python模块学习(四)
re模块 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C ...
- win7安装composer
安装前请务必确保已经正确安装了 PHP.打开命令行窗口并执行 php -v 查看是否正确输出版本号. 开始安装前需要把open_ssl扩展打开 打开命令行并依次执行下列命令安装最新版本的 Compos ...
- 001 unique string
以后坚持每一个星期都写记到算法题,不论简单还是难,纯熟娱乐! 描写叙述: 实现一个算法来推断一个字符串中的字符是否唯一(即没有反复).不能使用额外的数据结构. (即仅仅使用主要的数据结构) 代码: # ...
- 通过Python操作hbase api
# coding=utf-8 # Author: ruin """ discrible: """ from thrift.transport ...
- 学习pyhton需要做哪些准备工作
1:知道python个版本是有差异的 2:既然有差异,那么如何在不同项目不同版本的开发环境; ----------------------------------------------------- ...
- nginx基础系列
centos中搭建nginx环境 nginx开机启动 nginx配置文件说明 nginx负载均衡配置 nginx upstream模块 nginx配置ssl nginx日志切割 nginx平滑升级