• select实现输入模糊匹配与选择双重功能


    下载jqueryUI插件

    引入

    <link rel="stylesheet" type="text/css" href="/js/jquery/plugins/jqueryUI/jquery-ui.min.css">

    <script src='/js/jquery/plugins/jqueryUI/jquery-ui.min.js'></script>

    html代码

     1               <div class="navbar-form navbar-left" role="search" id="schoolConfig">
     3                             <span class='form-group-addon' style="font-size:16px;">选择学校:</span>
     4                             <div class="form-group" id="schoolQuery"  style="position:relative;">
     5                               <span style="margin-left:100px;18px;overflow:hidden;">
     6                                     <select id="schoolId"  style="118px;margin-left:-100px" onchange="setValue(this)"></select>
     7                                 </span>
     8                                 <input id="schoolName" class="form-control" placeholder="学校名称" style="100px;position:absolute;left:0px;top:0px;height:30px;" onblur="reLoadSection()">
     9                             </div>
    10                         </div>

    js代码

     1 /**
     2  * 将select的值放入input框
     3  */
     4 function setValue(obj){
     5     var index = obj.selectedIndex; // 选中索引
     6     var value = obj.options[index].value; // 选中值
     7     var schoolName = obj.options[index].text; // 选中文本
     8     $('#schoolName').val(schoolName);11 }
    1  $.getJSON(//获取学校数据
    2               '/test/manage/user/school_findAllName.action',
    3                 function(data){
    4                    $( "#schoolName" ).autocomplete({
    5                          source: data
    6                         });
    7                     }
    8                 );
    9             initCombo($('#schoolId'),'/test/manage/user/school_findAllIdAndSchoolName.action','schoolId','schoolName');

    返回数据格式为数组 eg:
    ["西科大","川大","电子科技大学","川音","北大","清华","复旦","上海交大 ","北邮","西石油"]
     1 /**
     2  * init combobox
     3  * @return {} 
     4  */
     5 function initCombo(combo,url,valueField,displayField){
     6     $.getJSON(
     7         url,
     8         function(data){
     9             if(data.rows && data.rows.length>0){
    10                 var html = '<option></option>',
    11                     rows = data.rows,
    12                     len = rows.length;
    13                 
    14                 for(var i=0; i<len; i++)
    15                     html += "<option value='"+ rows[i][valueField] + "'>"+ rows[i][displayField] +"</option>";
    16                 combo.html(html);
    17             }
    18         }
    19     );
    20 }

     extend:可输入的select功能可以通过h5的list属性(datalist)实现。

  • 相关阅读:
    【iBoard电子学堂开发板例程】【12个 stm32 例程发布】
    【iCore双核心组合是开发板例程】【12个 verilog 中级实验例程发布】
    【新产品发布】【iHMI43 智能液晶模块 2013 版】
    【新产品发布】【EVC8001 磁耦隔离式 USB 转 RS-485】
    【iHMI43真彩液晶模块】发布新版 DEMO 软件包,版本号为 0.14
    【新产品发布】【iCore2 ARM / FPGA 双核心板】
    急性淋巴瘤化疗术后高热不退案
    产后便秘案
    药疹治案
    胃癌化疗后急救案
  • 原文地址:https://www.cnblogs.com/weilantiankong/p/4665519.html
Copyright © 2020-2023  润新知