| <!DOCTYPE html> | 
| <html lang="zh"> | 
| <head> | 
|     <th:block th:include="include :: header('搜索自动补全')" /> | 
| </head> | 
| <body class="gray-bg"> | 
|       <div class="wrapper wrapper-content animated fadeInRight"> | 
|         <div class="row"> | 
|             <div class="col-sm-6"> | 
|                 <div class="ibox float-e-margins"> | 
|                     <div class="ibox-title"> | 
|                         <h5>搜索自动补全<small>https://github.com/lzwme/bootstrap-suggest-plugin</small></h5> | 
|                     </div>   | 
|                     <div class="ibox-content"> | 
|                         <p>展示下拉菜单按钮。</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-6"> | 
|                                 <div class="input-group"> | 
|                                     <input type="text" class="form-control" id="suggest-demo-1"> | 
|                                     <div class="input-group-btn"> | 
|                                         <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown"> | 
|                                             <span class="caret"></span> | 
|                                         </button> | 
|                                         <ul class="dropdown-menu dropdown-menu-right" role="menu"> | 
|                                         </ul> | 
|                                     </div> | 
|                                 </div> | 
|                             </div> | 
|                         </div> | 
|                          | 
|                         <p>不展示下拉菜单按钮。</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-6"> | 
|                                 <div class="input-group"> | 
|                                     <input type="text" class="form-control" id="suggest-demo-2"> | 
|                                     <div class="input-group-btn"> | 
|                                         <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown"> | 
|                                             <span class="caret"></span> | 
|                                         </button> | 
|                                         <ul class="dropdown-menu dropdown-menu-right" role="menu"> | 
|                                         </ul> | 
|                                     </div> | 
|                                 </div> | 
|                             </div> | 
|                         </div> | 
|                          | 
|                         <p>前端json中获取数据</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-6"> | 
|                                 <div class="input-group"> | 
|                                     <input type="text" class="form-control" id="suggest-demo-3"> | 
|                                     <div class="input-group-btn"> | 
|                                         <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown"> | 
|                                             <span class="caret"></span> | 
|                                         </button> | 
|                                         <ul class="dropdown-menu dropdown-menu-right" role="menu"> | 
|                                         </ul> | 
|                                     </div> | 
|                                     <!-- /btn-group --> | 
|                                 </div> | 
|                             </div> | 
|                         </div> | 
|                          | 
|                         <h3>百度搜索</h3> | 
|                         <p>支持逗号分隔多关键字</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-12"> | 
|                                 <div class="input-group" style="width: 800px;"> | 
|                                     <input type="text" class="form-control" id="baidu"> | 
|                                     <div class="input-group-btn"> | 
|                                         <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown"> | 
|                                             <span class="caret"></span> | 
|                                         </button> | 
|                                         <ul class="dropdown-menu dropdown-menu-right" role="menu"> | 
|                                         </ul> | 
|                                     </div> | 
|                                     <!-- /btn-group --> | 
|                                 </div> | 
|                             </div> | 
|                         </div> | 
|                          | 
|                         <h3>淘宝搜索</h3> | 
|                         <p>支持逗号分隔多关键字</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-6"> | 
|                                 <div class="input-group" style="width: 400px;"> | 
|                                     <input type="text" class="form-control" id="taobao"> | 
|                                     <div class="input-group-btn"> | 
|                                         <button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown"> | 
|                                             <span class="caret"></span> | 
|                                         </button> | 
|                                         <ul class="dropdown-menu dropdown-menu-right" role="menu"> | 
|                                         </ul> | 
|                                     </div> | 
|                                     <!-- /btn-group --> | 
|                                 </div> | 
|                             </div> | 
|                         </div> | 
|                         <hr> | 
|                         <div class="form-group"> | 
|                             <label class="font-noraml">相关参数详细信息</label> | 
|                             <div><a href="http://doc.ruoyi.vip/ruoyi/document/zjwd.html#bootstrap-suggest" target="_blank">http://doc.ruoyi.vip/ruoyi/document/zjwd.html#bootstrap-suggest</a></div> | 
|                         </div> | 
|                     </div> | 
|                 </div> | 
|             </div> | 
|              | 
|             <div class="col-sm-6"> | 
|                 <div class="ibox float-e-margins"> | 
|                     <div class="ibox-title"> | 
|                         <h5>搜索自动补全<small>https://github.com/bassjobsen/Bootstrap-3-Typeahead</small></h5> | 
|                     </div>   | 
|                     <div class="ibox-content"> | 
|                         <p>通过数据属性的基本示例。</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-6"> | 
|                                    <input type="text" placeholder="ruoyi..." data-provide="typeahead" data-source='["ruoyi 1","ruoyi 2","ruoyi 3"]' class="form-control" /> | 
|                             </div> | 
|                         </div> | 
|                         <hr> | 
|                          | 
|                         <p>通过javascript的基本示例。</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-6"> | 
|                                 <input type="text" placeholder="ruoyi..." class="form-control" id="typeahead-demo-1"/> | 
|                             </div> | 
|                         </div> | 
|                          | 
|                         <hr> | 
|                         <p>通过javascript的复杂示例。</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-6"> | 
|                                 <input type="text" placeholder="ruoyi..." class="form-control" id="typeahead-demo-2"/> | 
|                             </div> | 
|                         </div> | 
|                          | 
|                         <hr> | 
|                         <p>后台url中获取简单数据</p> | 
|                         <div class="row"> | 
|                             <div class="col-lg-6"> | 
|                                 <input type="text" placeholder="ruoyi..." class="form-control" id="typeahead-demo-3"/> | 
|                             </div> | 
|                         </div> | 
|                          | 
|                         <hr> | 
|                         <div class="form-group"> | 
|                             <label class="font-noraml">相关参数详细信息</label> | 
|                             <div><a href="http://doc.ruoyi.vip/ruoyi/document/zjwd.html#bootstrap-typeahead" target="_blank">http://doc.ruoyi.vip/ruoyi/document/zjwd.html#bootstrap-typeahead</a></div> | 
|                         </div> | 
|                     </div> | 
|                 </div> | 
|             </div> | 
|         </div> | 
|     </div> | 
|     <th:block th:include="include :: footer" /> | 
|     <th:block th:include="include :: bootstrap-suggest-js" /> | 
|     <th:block th:include="include :: bootstrap-typeahead-js" /> | 
|     <script type="text/javascript"> | 
|          | 
|         var testBsSuggest = $("#suggest-demo-1").bsSuggest({ | 
|             url: ctx + "demo/form/userModel", | 
|             idField: "userId", | 
|             keyField: "userName" | 
|         }).on('onDataRequestSuccess', function (e, result) { | 
|             console.log('onDataRequestSuccess: ', result); | 
|         }).on('onSetSelectValue', function (e, keyword) { | 
|             console.log('onSetSelectValue: ', keyword); | 
|         }).on('onUnsetSelectValue', function (e) { | 
|             console.log("onUnsetSelectValue"); | 
|         }); | 
|          | 
|         var testBsSuggest = $("#suggest-demo-2").bsSuggest({ | 
|             url: ctx + "demo/form/userModel", | 
|             showBtn: false, | 
|             idField: "userId", | 
|             keyField: "userName" | 
|         }).on('onDataRequestSuccess', function (e, result) { | 
|             console.log('onDataRequestSuccess: ', result); | 
|         }).on('onSetSelectValue', function (e, keyword) { | 
|             console.log('onSetSelectValue: ', keyword); | 
|         }).on('onUnsetSelectValue', function (e) { | 
|             console.log("onUnsetSelectValue"); | 
|         }); | 
|      | 
|         //data 数据中获取 | 
|         var testdataBsSuggest = $("#suggest-demo-3").bsSuggest({ | 
|             indexId: 1, | 
|             indexKey: 2, | 
|             data: { | 
|                 'value': [ | 
|                     { | 
|                         'userId': '1', | 
|                         'userCode': '1000001', | 
|                         'userName': '测试1', | 
|                         'userPhone': '15888888888' | 
|                     }, | 
|                     { | 
|                         'userId': '2', | 
|                         'userCode': '1000002', | 
|                         'userName': '测试2', | 
|                         'userPhone': '15888888888' | 
|                     }, | 
|                     { | 
|                         'userId': '3', | 
|                         'userCode': '1000003', | 
|                         'userName': '测试3', | 
|                         'userPhone': '15888888888' | 
|                     }, | 
|                     { | 
|                         'userId': '4', | 
|                         'userCode': '1000004', | 
|                         'userName': '测试4', | 
|                         'userPhone': '15888888888' | 
|                     }, | 
|                     { | 
|                         'userId': '5', | 
|                         'userCode': '1000005', | 
|                         'userName': '测试5', | 
|                         'userPhone': '15888888888' | 
|                     } | 
|                 ], | 
|                 'defaults': 'http://ruoyi.vip' | 
|             } | 
|         }); | 
|          | 
|         //百度搜索测试 | 
|         var baiduBsSuggest = $("#baidu").bsSuggest({ | 
|             allowNoKeyword: false, //是否允许无关键字时请求数据 | 
|             multiWord: true, //以分隔符号分割的多关键字支持 | 
|             separator: ",", //多关键字支持时的分隔符,默认为空格 | 
|             getDataMethod: "url", //获取数据的方式,总是从 URL 获取 | 
|             //url: 'http://unionsug.baidu.com/su?p=3&t=' + (new Date()).getTime() + '&wd=', | 
|             url:"/Info/recommend?keyWord=", | 
|             /*优先从url ajax 请求 json 帮助数据,注意最后一个参数为关键字请求参数*/ | 
|             //jsonp: 'cb', | 
|             /*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/ | 
|             processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数 | 
|                 console.log(json); | 
|                 var i, len, data = { | 
|                     value: [] | 
|                 }; | 
|                 /* if (!json || !json.s || json.s.length === 0) { | 
|                     return false; | 
|                 }                 | 
|      | 
|                 console.log(json); | 
|                 len = json.s.length; | 
|      | 
|                 jsonStr = "{'value':["; | 
|                 for (i = 0; i < len; i++) { | 
|                     data.value.push({ | 
|                         word: json.s[i] | 
|                     }); | 
|                 } */ | 
|                 if (!json || json.length === 0) { | 
|                     return false; | 
|                 }                 | 
|      | 
|                 console.log(json); | 
|                 len = json.length; | 
|      | 
|                 jsonStr = "{'value':["; | 
|                 for (i = 0; i < len; i++) { | 
|                     data.value.push({ | 
|                         word: json[i] | 
|                     }); | 
|                 } | 
|                 data.defaults = 'baidu'; | 
|      | 
|                 //字符串转化为 js 对象 | 
|                 return data;  | 
|             } | 
|         }); | 
|          | 
|         //淘宝搜索建议测试 | 
|         var taobaoBsSuggest = $("#taobao").bsSuggest({ | 
|             indexId: 2, //data.value 的第几个数据,作为input输入框的内容 | 
|             indexKey: 1, //data.value 的第几个数据,作为input输入框的内容 | 
|             allowNoKeyword: false, //是否允许无关键字时请求数据 | 
|             multiWord: true, //以分隔符号分割的多关键字支持 | 
|             separator: ",", //多关键字支持时的分隔符,默认为空格 | 
|             getDataMethod: "url", //获取数据的方式,总是从 URL 获取 | 
|             effectiveFieldsAlias: { | 
|                 Id: "序号", | 
|                 Keyword: "关键字", | 
|                 Count: "数量" | 
|             }, | 
|             showHeader: true, | 
|             url: 'http://suggest.taobao.com/sug?code=utf-8&extras=1&q=', | 
|             /*优先从url ajax 请求 json 帮助数据,注意最后一个参数为关键字请求参数*/ | 
|             jsonp: 'callback', | 
|             /*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/ | 
|             processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数 | 
|                 var i, len, data = { | 
|                     value: [] | 
|                 }; | 
|      | 
|                 if (!json || !json.result || json.result.length == 0) { | 
|                     return false; | 
|                 } | 
|      | 
|                 console.log(json); | 
|                 len = json.result.length; | 
|      | 
|                 for (i = 0; i < len; i++) { | 
|                     data.value.push({ | 
|                         "Id": (i + 1), | 
|                         "Keyword": json.result[i][0], | 
|                         "Count": json.result[i][1] | 
|                     }); | 
|                 } | 
|                 console.log(data); | 
|                 return data; | 
|             } | 
|         }); | 
|          | 
|         $('#typeahead-demo-1').typeahead({ | 
|             source: ["ruoyi 1","ruoyi 2","ruoyi 3"] | 
|         }); | 
|          | 
|         $('#typeahead-demo-2').typeahead({ | 
|             source: [ | 
|                 {"name": "Afghanistan", "code": "AF", "ccn0": "040"}, | 
|                 {"name": "Land Islands", "code": "AX", "ccn0": "050"}, | 
|                 {"name": "Albania", "code": "AL","ccn0": "060"}, | 
|                 {"name": "Algeria", "code": "DZ","ccn0": "070"} | 
|             ] | 
|         }); | 
|          | 
|         $.get(ctx + "demo/form/collection", function(data){ | 
|             $("#typeahead-demo-3").typeahead({ | 
|                 source: data.value | 
|             }); | 
|         },'json'); | 
|     </script> | 
| </body> | 
| </html> |