本文共 2150 字,大约阅读时间需要 7 分钟。
该功能通过在搜索框中输入设备名称时,触发动态提示,点击提示项后自动填充到搜索框中。实现原理是对搜索框的onkeyup事件进行处理,通过AJAX调用后台接口,返回模糊查询的结果。
.searchDiv { display: none; position: absolute; z-index: 60; padding: 10px; padding-top: 5px; color: #cdcdcd; background: #093B67; width: 245px; height: 100px; line-height: 1.5; overflow: auto;} function getCameraNames() { const keyVal = $('#cameName').val().replace(/(^\s*)|(\s*$)/g, ''); if (keyVal === '') { searchDivOff(); } else { $('.searchDiv').css('display', 'block'); $('.searchDiv').html(''); $.ajax({ type: "POST", async: false, url: "/camera/getCameraNames", data: { cameraName: $('#cameName').val() }, dataType: "json", success: function(result) { if (result.cameraNameList !== null) { for (let i = 0; i < result.cameraNameList.length; i++) { $('.searchDiv').append($('ListgetCameraNames(@Param("cameraName") String cameraName);
SELECT CAMERA_NAME FROM tb_camera_info WHERE CAMERA_NAME LIKE CONCAT('%', #{cameraName}, '%') @Overridepublic ListgetCameraNames(String cameraName) { return this.baseMapper.getCameraNames(cameraName);}
@RequestMapping(value = "/getCameraNames")@ResponseBodypublic Object getCameraNames(@RequestParam String cameraName) { JSONObject jsonData = new JSONObject(); if (cameraName != null && !cameraName.isEmpty()) { List cameraNameList = cameraService.getCameraNames(cameraName); jsonData.put("cameraNameList", cameraNameList); } return jsonData;} 转载地址:http://idhfk.baihongyu.com/