appCan开发:oninput实现动态请求搜索功能例子
2016-09-12 08:52
537 查看
HTML页面代码:
oninput事件是在value改变时触发,实时的,即每增加或删除一个字符就会触发,然而通过js改变value时,却不会触发;
JS代码:我这个例子是一个通讯录案例,在窗口本来有两个treeview的,顶端有一个搜索input,当聚焦到input时,隐藏两个treeview,失去焦点时,如果input中没有值,就显示这两个treeview。(类似手机通讯录上面的搜索)
<body class="um-vp bc-bg" ontouchstart> <div class="umar-a ub ub-ac ub-f1"> <div class="ub-f1"> <div class="uinput ub ub-f1 bc-border uba"> <input placeholder="请输入姓名" id="searchEmploy" type="search" class="ub-f1" oninput="searchRequest()"> <div class="uinn fa fa-search sc-text"></div> </div> </div> </div> <div id="treeview"> </div> <div id="employ_treeview"> </div> <div id="search_listview"> </div> <script src="js/appcan.js"></script> <script src="js/appcan.control.js"></script> <script src="js/appcan.listview.js"></script> <script src="js/appcan.treeview.js"></script> <script src="app_js/BP.js"></script> <script src="app_js/indexCon_3.js"></script> </body>在id=searchEmploy的input标签中输入内容,即value值,通过oninput方法来触发JS事件。
oninput事件是在value改变时触发,实时的,即每增加或删除一个字符就会触发,然而通过js改变value时,却不会触发;
JS代码:我这个例子是一个通讯录案例,在窗口本来有两个treeview的,顶端有一个搜索input,当聚焦到input时,隐藏两个treeview,失去焦点时,如果input中没有值,就显示这两个treeview。(类似手机通讯录上面的搜索)
function searchRequest(){ var l=$("#searchEmploy").val().length;//判断input中是否有内容 if (l == 0) { //input无内容时,显示treeview和empoly_treeview,并且将lv_search置空 $("#treeview").show(); $("#employ_treeview").show(); lv_search.set([]); } else{ $("#treeview").hide(); //隐藏treeview和employ_treeview $("#employ_treeview").hide(); lv_search.set([]); //每次请求时,也要置空lv_search,防止数据重叠呈现,产生冗余 appcan.request.ajax({ //ajax来请求数据,url就是后台请求的服务器RequestMapping中的url(我的服务器后台使用的SSM框架) type : 'post', url : ajaxUrlHead + "employees/searchMobile", data : { "searchText" : $("#searchEmploy").val() }, dataType : "json", timeout : 10000, //超时时间 success : function(data) { //console.log(data[i].name); console.log(data); for (var i = 0; i < data.length; i++) { console.log(data[i].name); lv_search.add([{ //通过add方法给lv_search列表中动态添加数据 title : data[i].name, p_id : data[i].id, icon : accountAvatar + data[i].img, pagename : "uexWheel", pageurl : "uexWheel.html" }], 1); } } }); } $("#searchEmploy").blur(function() { //当input失去焦点时,如果input中无数据(表示这时候搜索操作结束),置空lv_search,将前两个treeview显示出来 var l=$("#searchEmploy").val().length; if(l==0){ $("#treeview").show(); $("#employ_treeview").show(); lv_search.set([]); } }); }<pre name="code" class="html">//lv_search列表每一项的点击事件绑定,每点击一次,把列表项的id存储下来,以便后续页面处理时,知道是点击了列表的哪一项
lv_search.on('click', function(ele, data, obj) { console.log(data.p_id); appcan.locStorage.setVal("p_employId",data.p_id); //appcan.locStorage.setVal("p_deptName",data.title); appcan.window.open({ name : "per_info", data : "per_info.html", aniId : 2 }); });
</pre><pre>
相关文章推荐
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnetList 所有评论列表的功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnets 显示某个对象的评论列表的功能实现
- ui组件之input多选下拉实现方法(带有搜索功能)
- ionic开发——调用键盘搜索功能实现方法
- ui组件——多选下拉input的实现(带有搜索功能)
- location的hash部分和使用window.onhashchange实现ajax请求内容时使用浏览器后退和前进功能
- Vuforia SDK---- AR开发vuforia 相机前后摄像头动态切换功能实现
- 基于jQuery实现动态搜索显示功能
- bootstrap实现的类似百度搜索的输入框自动完成功能(动态获取数据库的值)
- Android开发本地及网络Mp3音乐播放器(十三)网络音乐搜索功能实现,歌名歌手专辑名搜索
- Vuforia SDK---- AR开发vuforia 相机前后摄像头动态切换功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentEdit 编辑评论的功能实现
- jQuery实现动态搜索显示功能
- [Unity3d]unity+asp.net实现动态搜索加载模型并且能够实现模型拖动缩放的功能
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentAdd 添加评论的功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmKnowledge日积月累功能的实现
- Filter实现动态更换请求链接(css和swf),黑白功能实现
- [Unity3d]unity+asp.net实现动态搜索加载模型并且能够实现模型拖动缩放的功能
- iOS开发——UISearchController实现搜索栏功能|阳和移动开发
- ui组件——多选下拉input的实现(带有搜索功能)