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对象),从而得到这个操作耗 ...
随机推荐
- Oracle中的in参数的个数限制
遇到了这个问题 “oracle中in参数个数限制”,这里记录下, in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000. 当in的个数大于1 ...
- 前端基础 & Bootstrap框架
Bootstrap介绍 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架. 它是为实现快速开发Web应用程序而设计的一套前端工具包. 它支持响应式布局,并且 ...
- MySQL 第五天
回顾 连接查询: 多张表连接到一起, 不管记录数如何,字段数一定会增加. 分类: 内连接,外连接,自然连接和交叉连接 交叉连接: cross join(笛卡尔积) 内连接: inner join, 左 ...
- [二次开发]dede文章页面怎样显示作者的头像
dede在文章页面显示作者仅仅是显示其username,可是假如我想把dede改造成较为社交化的站点.我认为是有必要显示作者的头像的,可是官方并没有相应的模版标签. 在网上看到解决问题的办法基本上是直 ...
- Dubbo学习和配置(转载)
转载自: 简单了解下Dubbo 1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架, ...
- 解释python中的help()和dir()函数
help函数是一个内置函数,用于查看函数或模块用途的详细说明 import copy print(help(copy.copy)) Help on function copy in module co ...
- Loadrunder脚本篇——webservice接口测试(二)
1.选择协议--Web Service,如下图 2.导入服务 入口1:点击Manage Services ->弹出窗中选择“Import” ->弹出窗中选择“URL”,填写wsdl地址,导 ...
- css的继承性理解
1) 所有的text 相关属性都被继承: 如 font-family font-size; font-style;font-weight;font;font-variant;letter-spacin ...
- jQuery中的部分方法
1.empty() – jQuery 文档操作 从被选元素移除所有内容,包括所有文本和子节点. 用法:$(selector).empty(); 其中,selector可以是"#id" ...
- Oracle表约束
约束的概述: 约束是在表中定义的用于维护数据库完整性的一些规则 (1).主键约束 不能为空也不能重复 在一个表中只能定义一个主键约束 Oracle会在主键上建立一个唯一索引,可以指定唯一索引的存储位置 ...