demo1可能由于 https的限制看不了,可以下载下来看
demo1和demo2一样,只是预览的地址,不在一个服务器上 :smile:
效果图如下:
使用说明:
-
引入需要的文件
<link rel="stylesheet" href="css/hy-autocomplete.css"> <script src="js/hy-autocomplete.js"></script>
-
编写相应的html
<div class="hy-autocomplete-box" id="hy-autocomplete-box"> <ul class="hy-item-list"> <li class="hy-input-item"> <input type="text" class="hy-input" placeholder="输入要搜索的东西"> </li> </ul> <ol class="hy-show-list"></ol> </div>
这里可以加自己的class,修改成自己喜欢的样式(皮肤)
但是注意: 不能删掉以 'hy-' 开头的class,这个是框架需要的hook(钩子标记)
-
调用js—注意事项
必须确保此js在dom节点渲染完后执行
- 可以把调用js放到body最后
- 或者 代码放到onload 之后
- 或者 代码放到 domReady之后
//调用的时候需要闭包包装起来 ;(function(){ //这里放入执行代码 })()
-
完整调用
(function(){ var dupArr=[]; //保证tagsinput不能重复,所以需要给框架传入一个干净的空间 hyAutoComplete({ input:'#hy-autocomplete-box .hy-input', url:'http://120.55.119.118:8088/oneseason-web-boss/demo/list.do', keyname:'kw', //给后台的搜索关键词的 key cbName:'callback', success:function(aaa){ hyAutoComplete.renderDOM({ renderBox:'#hy-autocomplete-box', data:aaa, fnClick:function(data){ alert(JSON.stringify(data)); data.input.value=''; }, fnClose:function(data){ alert(JSON.stringify(data)); }, fnDup:function(data){ alert(data.id+',已经添加过了^_^'); }, dupArr:dupArr }) } }) })();
-
API:
名称 说明 hyAutoComplete(json) 向服务器请求数据 hyAutoComplete.renderDOM(options) 页面渲染节点
json:(hyAutoComplete函数接收的参数)
参数 说明 类型 input 输入框选择器 string url 后台接口地址 string keyname 给后台的搜索关键词的 key string cbName callback的名称 string success 请求数据成功的回调 function
options:(hyAutoComplete.renderDOM接收的参数)
参数 说明 类型 renderBox 整个组件的id(这里就是 class为 .hy-autocomplete-box的id) string data 渲染到页面的数据,格式必须是 [{id:1, value:11 }....] array fnClick 点击渲染列表某一个项的事件回调 function fnClose 关闭标签的事件回调 function fnDup 点击重复的事件回调 function dupArr 去重的全新数组,需要外界传入 array
其他:
名称 说明 success 回调函数 success:function(data){//data} fnClick fnClick:function(data){data.id, data.value, data.input} fnClose fnClose:function(data){data.id, data.value} fnDup fnDup:function(data){data.id, data.value}