效果圖:輸入“傷寒”兩個字,會自動聯想下拉展示帶有“傷寒”兩個字的內容

前端用的是jquery ui做展示,后端資料介面是json資料
1.前端,參考jquery UI庫,包括jquery-ui.min.js和jquery-ui.min.css兩個檔案
<div style="width:90%;margin:0.2rem auto; height:auto; "> <div style="height: 1.4rem; line-height: 0.5rem; "> <div style=" text-align: left;">原患疾病</div> <div style="width:100%; float:left;margin-top:0.1rem" > <!-- 隱藏域 用于接收選重項對應的id--> <input type="hidden" name="icd_id"> <input type="text" name="icd_name" placeholder="" class="layui-input icd_name"> </div> </div> </div>
js代碼
$(function() { $(".icd_name").autocomplete({ source:function(request,response){ var icd_name =$(".icd_name").val(); console.log(icd_name) $.ajax({ type:"POST", url:"xxx", dataType : "json", cache : false, async : false, data : {icd_name:icd_name}, success : function(json) { var json_data = https://www.cnblogs.com/zxf100/archive/2021/04/28/json['data']; var eval_data = https://www.cnblogs.com/zxf100/archive/2021/04/28/eval (json_data);//json陣列 response($.map(eval_data,function(item){ console.log(item) return { label:item.name,//下拉框顯示值 label:item.drugwhole value:item.name,//選中后,填充到input框的值 id:item.id//選中后,填充到id里面的值 } })); } }); }, delay: 200,//延遲100ms便于輸入
//select表示選中后執行的函式,將選中的資料分別賦值到兩個輸入框重 select : function(event, ui) { $(".icd_name").val(ui.item.value); //取出在return里面放入到item中的屬性 $('input[name="icd_id"]').val(ui.item.id); return false; }, scroll:true, pagingMore:true, max:5000 }); });
JQuery UI 下載地址:https://jqueryui.com/download/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/281178.html
標籤:其他
上一篇:使用vue-element-admin框架從后端動態獲取選單
下一篇:JavaScript 04 函式,引數,形參,實參,回傳值return,arguments的使用,冒泡排序法,匿名函式,自呼叫函式,作用域,作用域鏈,預決議
