Thinkphp 两级联动
<!-- 前端代码部分-->
<div class="pop-movegroup" id="salesmanBox">
<dl>
<dt>选择推广账号:</dt>
<dd> <!-- 一级联动的数据先查询遍历出来-->
<select name="salesman" id="salesman">
<volist name="salesman" id="vo">
<option value="{$vo.id}">{$vo.uname}</option>
</volist>
</select> <!-- 二级联动-->
<select name="lib" id="libs"> </select>
</dd>
<dd class="center">
<input type="hidden" id='uid' value="{$_GET['uid']|intval}">
<input type="button" class="btn_b mr10" value="确认" onclick="admin.domoveSalesUser()">
<input type="button" class="btn_w" value="取消" onclick="ui.box.close()">
</dd>
</dl>
</div>
js部分:
<script type="text/javascript">
//点击一级联动里面的选项 获取id 然后去查询对应的数据
$("#salesman").change(function(){
//获取id
var catid=$("#salesman").val();
//将id提交到后台
$.post("{:U('admin/User/doAddSalesUsers')}","id="+catid,function(data){
//清空二级联动
$("#libs").empty();
//console.log(data); var count = data.data.length;
var i = 0;
var b="";
//根据后端所返回的数据 去展示对应的数据
for(i=0;i<count;i++){
b+="<option value='"+data.data[i].uid+"'>"+data.data[i].uname+"</option>";
}
$("#libs").append(b);
});
}); //点击二级菜单里面的数据
admin.domoveSalesUser = function(){
//获取id
var id = $('#libs').val(); if(!id){
ui.error( '没有选中推广账户' );return false;
}
//开始进行绑定
var uid = $('#uid').val();
$.post(U('admin/User/doAddSalesUser'),{uid:uid,sid:id},function(msg){
ajaxReload(msg);
//location.href = U('admin/User/index');
},'json');
};
</script>
后端代码部分:
public function doAddSalesUsers()
{
$id = $_POST['id'];
$data = model("SalesmanEntity")->where("sid = " . $id)->select();
$this->ajaxReturn($data, "JSON");
} public function doAddSalesUser()
{
$return = array('status' => '0', 'data' => '绑定推广账号失败');
$uid = !empty($_POST['uid'])? intval($_POST['uid']) : 0; //yonghuid
// var_dump($uid);
$sid = !empty($_POST['sid'])? intval($_POST['sid']) : 0; //suoshuzuid
//var_dump($sid);
// var_dump($dataArray);
if(empty($uid) || empty($sid)){
$return['data'] = "数据无效!";
exit(json_encode($return));
} //去salesman_entity表中去查询该女性id所属用户组
$dataArray = M('salesman_entity')->where("uid=". $_POST['sid'])->field("sid")->select();
//var_dump($dataArray);
$idss = array_column($dataArray,'sid');
//invite_id
$yqId = $idss[0];
//女性用户id $user = model('User')->where('uid='.$uid)->find();
if($user['invite_id']>0){
$this->error("该用户已被绑定!");
}
$datas = array('invite_id'=>$yqId,'sid'=>$sid);
//开始绑定
if(model('User')->where('uid='.$uid)->setField('invite_id',$yqId) && model('User')->where('uid='.$uid)->setField('sid',$sid)){
$return = array('status' => 1, 'data' => '用户绑定成功');
}
exit(json_encode($return));
}
Thinkphp 两级联动的更多相关文章
- ajax实现无刷新两级联动DropDownList
ajax实现的无刷新三级联动 http://zhangyu028.cnblogs.com/articles/310568.html 本文来自小山blog:http://singlepine.cnblo ...
- JS练习:两级联动
代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...
- Combobox下拉框两级联动
下拉框的两级联动是我们开发中经常遇到一种情况.比如一个学生管理系统中,根据年级.科目及姓名查询学生考试成绩,年级和科目都是硬盘中的有限数据(数据库)而学生则可以有用户手动指定,这时在数据库中有年级和科 ...
- Jquery实现两级联动
最后结果如下: 关键代码如下: <select name="customerCondition['credibilityBegin']" id="credibili ...
- ajax_get/post_两级联动
使用ajax实现菜单联动 通常情况下,GET请求用于从服务器上获取数据,POST请求用于向服务器发送数据. 需求:选择第一个下拉框的值,根据第一个下拉框的值显示第二个下拉框的值 首先使用GET方式. ...
- ASP_NET实现界面无刷新的DropdownList两级联动效果
所谓DropdownList联动,也就是在选一个DropdownList的时候使另外一个DropdownList的内容更新(如选省份时显示所属城市),按常规的方法那就是在第一个DropdownList ...
- JQuery EasyUI combobox 省市两级联动
表名:province 结构如下 CallIn.tpl 模板页 <select id="consult_province" name="consult_provi ...
- JS 省市两级联动(不带地区版本)
基于网上找的一个版本改造,因为项目需求不需要地区只要省.市,所以做了改版,两个input上直接取出了数据 <html> <head> <script src=" ...
- 踩iviewui中Select 选择器两级联动,重置查询条件时第二级数据无法清除的坑
小颖公司最近做的项目用的vue+iviewui+axios,在做项目的过程中,遇到一个问题: 二级联动的下拉框,第一个下拉框一直都有值,第二个下拉框是在选择了第一个下拉框之后采取调用ajax获取其值, ...
随机推荐
- 斑马打印机和欧姆龙CP1H串口通信打印
欧姆龙CP1HPLC和斑马打印机通信 1. PLC 1.1PLC型号 CP1H 1.2通信方式 232通信,使用232扩展卡槽CP1W-CIF01. CP1W-CIF01是RS232选件板,通信距离最 ...
- 最新 东方网java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.东方网等10家互联网公司的校招Offer,因为某些自身原因最终选择了东方网.6.7月主要是做系统复习.项目复盘.LeetCo ...
- ant design pro v2 关于用户登录有多个权限的解决方法
ant design pro V2菜单栏显示流程, 用户输入用户名,密码,登录调用登录接口,校验后返回该用户的权限字段currentAuthority,然后通过调用setAuthority(curre ...
- SourceTree使用图解
看完这篇文档你能做到的是: 1.简单的用Git管理项目. 2.怎样既要开发又要处理发布出去的版本bug情况. SourceTree是一个免费的Git图形化管理工具,mac下也可以安装. 下载地址:ht ...
- Java线程安全队列Queue实现原理
原文链接:https://www.cnblogs.com/DreamRecorder/p/9223016.html 在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列.J ...
- 深入理解linux内核-进程和程序
进程描述符task_struct task_struct { //进程基本信息 pid 进程id号 tgid 线程组id号,与线程组领头线程pid号相同 getpid()返回该值 tasks in ...
- 《Tsinghua os mooc》第17~20讲 同步互斥、信号量、管程、死锁
第十七讲 同步互斥 进程并发执行 好处1:共享资源.比如:多个用户使用同一台计算机. 好处2:加速.I/O操作和CPU计算可以重叠(并行). 好处3:模块化. 将大程序分解成小程序.以编译为例,gcc ...
- Go语言学习笔记(6)——指针
指 针 指针: 存储另一个变量的内存地址的变量: Go语言的取地址符号也是& 1. 声明指针: var needle_name *type var b int = 10 var a *int ...
- Luogu4022 CTSC2012熟悉的文章(广义后缀自动机+二分答案+动态规划+单调队列)
对作文库中的串建出广义SAM,然后显然可以二分答案,二分之后考虑暴力dp,设f[i]为前i位最长匹配长度,显然有f[i]=max(f[i-1],f[j]+i-j) (i-j>=l&&am ...
- MySQL 军规
MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...