欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法

 更新時(shí)間:2019年09月28日 09:30:05   作者:m0_38007940  
今天小編就為大家分享一篇關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

思路分析:當(dāng)我使用layui默認(rèn)的下拉搜索框的時(shí)候,layui會(huì)默認(rèn)渲染出一個(gè)HTML結(jié)構(gòu),所以我把渲染出來(lái)的這個(gè)結(jié)果直接給復(fù)制出來(lái),這樣css的樣式就不用從頭到尾寫一遍了,

前端代碼(我用的是jsp):

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
  <link rel="stylesheet" href="statics/css/font.css" rel="external nofollow" >
  <link rel="stylesheet" href="statics/css/xadmin.css" rel="external nofollow" >
</head>
<body>
<form class="layui-form" action="">
 

      <div class="layui-inline">
        <label class="layui-form-label">搜索選擇框</label>
        <div class="layui-input-inline">
             <div class="layui-form-select layui-form-selected searchDiv">
              <div class="layui-select-title"><input type="text" placeholder="直接選擇或搜索選擇" value="" class="layui-input search_input" id="search_input"></div>
              <dl class="layui-anim layui-anim-upbit" style="display: block;">
                <!-- <dd lay-value="" class="layui-select-tips layui-this">直接選擇或搜索選擇</dd> -->
              <!--   <dd lay-value="1" class="layui-this">layer</dd>
                <dd lay-value="2" class="">form</dd>
                <dd lay-value="3" class="">layim</dd> -->
              <!--   <dd lay-value="4" class="">element</dd>
                <dd lay-value="5" class="">laytpl</dd>
                <dd lay-value="6" class="">upload</dd>
                <dd lay-value="7" class="">laydate</dd>
                <dd lay-value="8" class="">laypage</dd>
                <dd lay-value="9" class="">flow</dd>
                <dd lay-value="10" class="">util</dd>
                <dd lay-value="11" class="">code</dd>
                <dd lay-value="12" class="">tree</dd>
                <dd lay-value="13" class="">layedit</dd>
                <dd lay-value="14" class="">nav</dd>
                <dd lay-value="15" class="">tab</dd>
                <dd lay-value="16" class="">table</dd>
                <dd lay-value="17" class="">select</dd>
                <dd lay-value="18" class="">checkbox</dd>
                <dd lay-value="19" class="">switch</dd>
                <dd lay-value="20" class="">radio</dd> -->
              </dl>
            </div>
        </div>
      </div>
   
    <div class="layui-form-item">
  <div class="layui-input-block">
   <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
   <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  </div>
 </div>
</form>

 <script src="statics/lib/layui/layui.js" charset="utf-8"></script>
<script>
layui.use(['form', 'jquery','layer'], function(){
 var form = layui.form
  var $=layui.$;
  var layer=layui.layer;
  var oldValue=null;
  
  $(".search_input").keyup(function(event){
    //alert(event.keyCode)
    //layer.msg(event.keyCode);
    if(event.keyCode==40){   //方向健↓
    //如果是最后一個(gè)則不用做任何事情
    if($(this).parent().next("dl").children(":last").hasClass("layui-this")){
      return;
    }
      $(this).parent().next("dl").find("dd.layui-this").removeClass("layui-this").next("dd").addClass("layui-this");
      $dl=$(this).parent().next("dl");
      $dl.scrollTop($dl.scrollTop()+$dl.find("dd.layui-this").height());
      return;
    }
      
    if(event.keyCode==38){ //方向健↑
      //如果是第一個(gè)則不用做任何事情
      if($(this).parent().next("dl").children(":first").hasClass("layui-this")){
        return;
      }
      $(this).parent().next("dl").find("dd.layui-this").removeClass("layui-this").prev("dd").addClass("layui-this");
      $dl=$(this).parent().next("dl");
      $dl.scrollTop($dl.scrollTop()-$dl.find("dd.layui-this").height());
      return;
    }
      
    if(event.keyCode==13){     //按回車鍵給文本框賦值
      $(this).val($(this).parent().next("dl").find("dd.layui-this").html());
      oldValue=$(this).val().trim();
      return;
    }
    
    if(oldValue!=$(this).val().trim()){ //如果輸入框的值沒(méi)有改變就沒(méi)必要發(fā)送ajax請(qǐng)求
      //根據(jù)用戶輸入的內(nèi)容發(fā)送ajax請(qǐng)求查詢以此內(nèi)容開(kāi)頭的商品簡(jiǎn)碼,從而查出符合要求的商品名字
      $.get("product/getProductsByCode",{"productCode":$(this).val()},function(data){
            if(!!data){
              //清除掉以前的值
              $(".searchDiv dl.layui-anim").html("");
              for(var i=0;i<data.length;i++){

                $(".searchDiv").find("dl.layui-anim").append("<dd lay-value=\""+data[i].productId +"\" οnclick=\"changeSearchText(this)\">"+data[i].productName+"</dd>");
                $(".searchDiv").find("dl.layui-anim").children("dd:first").addClass("layui-this");
              }
              //重新渲染select
              //form.render('select');
            }
          },'json')
    }
  })


 
    form.on('submit(formDemo)',function(){
      return false;  //這樣的做的目的是因?yàn)槔锩嬗形谋据斎肟矗?dāng)我們按回車鍵的時(shí)候會(huì)默認(rèn)提交表單,所以要進(jìn)行此操作
    })
});

function changeSearchText(obj){
  document.getElementById("search_input").value=obj.innerHTML;
}
</script>

</body>
</html>

后臺(tái)代碼我就不貼了,我是認(rèn)為后臺(tái)沒(méi)有必要貼了

以上這篇關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • js左側(cè)三級(jí)菜單導(dǎo)航實(shí)例代碼

    js左側(cè)三級(jí)菜單導(dǎo)航實(shí)例代碼

    在左側(cè)三級(jí)菜單導(dǎo)航想必大家都見(jiàn)到過(guò)吧,它的實(shí)現(xiàn)過(guò)程也并不復(fù)雜,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以了解下
    2013-09-09
  • JavaScript實(shí)現(xiàn)簡(jiǎn)單的拖動(dòng)效果

    JavaScript實(shí)現(xiàn)簡(jiǎn)單的拖動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單的拖動(dòng)效果,具有一定的參考價(jià)值,感興趣的朋友可以參考一下
    2016-07-07
  • 圖解Sublime Text3使用技巧

    圖解Sublime Text3使用技巧

    通過(guò)本篇文章給大家介紹Sublime Text3使用技巧的相關(guān)知識(shí),對(duì)sublime text3技巧相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • laydate如何根據(jù)開(kāi)始時(shí)間或者結(jié)束時(shí)間限制范圍

    laydate如何根據(jù)開(kāi)始時(shí)間或者結(jié)束時(shí)間限制范圍

    這篇文章主要為大家詳細(xì)介紹了laydate根據(jù)開(kāi)始時(shí)間或者結(jié)束時(shí)間限制范圍的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • JavaScript彈出對(duì)話框的三種方式

    JavaScript彈出對(duì)話框的三種方式

    本文主要介紹了javascript中的三種彈出對(duì)話框,分別是alert()方法,confirm()方法,prompt()方法,對(duì)javascript彈出對(duì)話框相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03
  • JavaScript 函數(shù)式編程實(shí)踐(來(lái)自IBM)

    JavaScript 函數(shù)式編程實(shí)踐(來(lái)自IBM)

    說(shuō)到函數(shù)式編程,人們的第一印象往往是其學(xué)院派,晦澀難懂,大概只有那些蓬頭散發(fā),不修邊幅,甚至有些神經(jīng)質(zhì)的大學(xué)教授們才會(huì)用的編程方式。
    2010-06-06
  • JavaScript閉包詳解

    JavaScript閉包詳解

    這篇文章主要為大家介紹了JavaScript閉包,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • JS對(duì)字符串編碼的幾種方式使用指南

    JS對(duì)字符串編碼的幾種方式使用指南

    在客戶端中,要對(duì)字符串編碼,可以采用:escape();encodeurl();encodeURIComponent();下面我們就來(lái)具體講解下這幾個(gè)方法。
    2015-05-05
  • 使用JS簡(jiǎn)單實(shí)現(xiàn)apply、call和bind方法的實(shí)例代碼

    使用JS簡(jiǎn)單實(shí)現(xiàn)apply、call和bind方法的實(shí)例代碼

    在JavaScript中,call、apply和bind是Function對(duì)象自帶的三個(gè)方法,這三個(gè)方法的主要作用是改變函數(shù)中的this指向,下面這篇文章主要給大家介紹了關(guān)于如何使用JS簡(jiǎn)單實(shí)現(xiàn)apply、call和bind方法的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • 19個(gè)很有用的 JavaScript庫(kù)推薦

    19個(gè)很有用的 JavaScript庫(kù)推薦

    流行的 JavaScript 庫(kù)有jQuery,MooTools,Prototype,Dojo和YUI等,這些 JavaScript 庫(kù)功能豐富,加上它們眾多的插件,幾乎能實(shí)現(xiàn)任何你需要的功能
    2011-06-06

最新評(píng)論