Autocomplete
AutoComplete控件就是指用户在文本框输入前几个字母或是汉字的时候,该控件就能从存放数据的文本或是数据库里将所有以这些字母开头的数据提示给用户,供用户选择,提供方便。
下面说下用法:
//控制器代码 //... //查询全部人的用户名和ID数据 $turename = M('userlogin')->where('State = 1 AND dimissiontime is null')->field('turename,UserID')->select(); foreach($turename as $k){ $tmp .= '"'.$k['turename'].'-['.$k['userid'].']",'; } //处理数据 加工成 张三-[123] 分配数据 $this->username = substr($tmp, 0,-1); //...
数据处理完之后分配到页面上
<!--HTML代码--> <input type="text" name="belonguser" class="input-text" id="belongbyuser"/> <!--远程调用JQ依赖--> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <script type="text/javascript"> $(function(){ var availableTags = [{$username}];//填入初始化数据 $( "#belongbyuser" ).autocomplete({//ID触发 source: availableTags, messages: { noResults: '', results: function() {} } }); }); </script>
然后就会看到效果:
那么传递过去的值怎么处理呢?
//提交的时候获取的数据是 张三-[123] //提交后逻辑处理 $data['belongbyuser'] = substr($data['belonguser'], strpos($data['belonguser'], '[')+1,-1);//截取传递的用户ID 123 $turename = substr($data['belonguser'],0, strpos($data['belonguser'], '-'));//用户名 张三 // 查询数据库比对 if(M('userlogin')->where('turename = "'.$turename .'" and UserID = "'. $data['belongbyuser']. '" ')->count()!=1){ $this->error('代理负责人用户信息有误'); } //存在则继续操作 }
以上就是自己在用到的时候,用的最简单的写法了。如果那里不对,还请指正。
上一篇: windows下执行定时任务...
下一篇: JQ克隆元素...