联想(查询出所有的,然后输入的去对比是否包含)

效果如图所示

首先遍历出所有的值 放到div中并且隐藏

<div id="all_company_name_list" hidden>
        <c:forEach var="item" items="${companyNameList}">
            <li class="company" company_id="${item.id}" company_name="${item.companyName}" onclick="completeAuto(this);"> ${item.companyName}</li>
        </c:forEach>
    </div>

这里是输入框和放一个隐藏的展示ul

<div class="nr4-info nr4-list">
    <p>所属企业:</p><input type="text" id="text_input" name="companyName" class="nr4_inp2 ni"
                       value="${companyInfoEntity.companyName}" onkeyup="auto();"/>
    <div class="show-wrap">
        <ul id="show-company-list" hidden>
        </ul>
    </div>
    <input type="hidden" id="companyId" value="${companyInfoEntity.id}">
  <i>(请选择已有的企业)</i>
</div>

ss

$(function () {
    $("#form").click(function(){
        //$("#companyId").val("");
        $("#show-company-list").hide();
    });
});

function auto() {
    $(".show-wrap").show();    //当聚焦输入框,并且输入一个值后就把下拉框显示出来
    $("#show-company-list").html(‘<li class="company" company_id="-1" company_name="" onclick="completeAuto(this);"></li>‘);//第一行显示一个空值
    var str = $.trim($("#text_input").val());//拿到输入框的值
    $.each($("#all_company_name_list .company"), function (index, value) {//遍历
        if (str == "" || $(value).attr("company_name").indexOf(str) > -1)//由于文本框不是必填项,所以可以为空值
            $($(this).clone()).appendTo($("#show-company-list"));//这里最后clone到我们要显示的下拉框中
    });
    $("#show-company-list").show();//最后显示出来
}

function completeAuto(obj) {
    $("#text_input").val($(obj).attr("company_name"));//点击下拉框里的值,赋值给那个输入文本框
    $("#companyId").val($(obj).attr("company_id"));//点击下拉框里的值,赋值给隐藏域中的id
    $("#show-company-list").hide();//赋值完后,就把下拉框收起来
}
$("#all_company_name_list .company")这个是拿到隐藏的值(div中提早查询出的所有值)
$(value).attr("company_name").indexOf(str) > -1   查找包含str的value并赋值给company_name
时间: 2024-11-07 11:56:14

联想(查询出所有的,然后输入的去对比是否包含)的相关文章

c#控制台程序-“输入指定年月日查询出星期几”

其中涉及一个算法: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数. 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算. 代码如下: Console.WriteLine("**************************"); Console.WriteLi

查询输入框中输入【%%%】能查询出所有结果的解决方案

在开发中输入[%%%]字符的时候能够查询出所有数据. 解决方案:参数化查询+输入框数据处理. 输入框数据处理: /// <summary> /// 处理查询条件中的特殊字符 /// </summary> /// <param name="value"></param> /// <returns></returns> public static string GetStringFilter(string keyVal

Linux shell 脚本 实现查询出进程的名字,cup内存占用率,启动时间在线状态等格式化输出

目的是查询出进程的名字,cup内存占用率,启动时间在线状态等格式化输出 脚本实现的结果:[[email protected] ~]# sh /app/shell/app_status.shProcessName---------GroupName-------Status-----PID----CPU----MEMORY----StarTime---nginx WEB STOPED NULL NULL NULL NULLhttpd WEB STOPED NULL NULL NULL NULLmy

查询出Exchange Server的通讯组,并将通讯组成员输出到本地的文本文件中!

最近客户有一个需求,希望查询所有通讯组的成员,这个使用PS 来做的话会比较简单,怎么做?代码如下: 此POWERSHELL 在exchange 2010 执行通过! param($temppath="c:\log" #定义日志输出路径) if(!(Test-Path $temppath)) #判断日志路径是否存在,如果不存在则建立目录{New-Item -Path $temppath #建立日志路径} $groupNum=get-distributiongroup #将所有通讯组输出到

mysql 怎么查询出,分组后的总条数。。。也就是有多少组数。。。。怎么写

SELECT COUNT(*) AS 多少组数FROM( SELECT id FROM 表 GROUP BY id) subQuery;Mysql,有一个表含有以下字段,uid 发帖人id,title 发帖标题,tc 发帖内容,time 发帖时间,用一条语句算出昨天发帖书大于10的,一共有多少人? select count(*) from (select distinct startperson_id,count(startperson_id) as num from apphome_finan

【转自mos文章】使用单条sql来查询出awr中的syatem statistics

使用单条sql来查询出awr中的syatem statistics 参考自: How to monitor system statistics from AWR snapshot by single SQL? (Doc ID 1320445.1) 适用于: Oracle Server - Enterprise Edition - Version: 10.2.0.1 and later   [Release: 10.2 and later ] Information in this documen

查询出menupath字段中 出现 “- &quot;(横杆)大于3次的 记录

表明为productclass    我想查询出menupath字段中 出现 “- "(横杆)大于3次的 记录 答:1  select from productclass  where menupath  REGEXP '[[:digit:]]+-[[:digit:]]+-[[:digit:]]+-'  这样就可以 不过不建议用正则查询出menupath字段中 出现 “- "(横杆)大于3次的 记录 2 select * from productclass   where length

T-SQL 查询出某个列总值大于X的数据

原文: https://www.lesg.cn/netdaima/sqlservert-sql/2016-459.html 今天操作查询的时候遇见一个这样的要求: 有一张表 用户ID 购买日期 购买金额 购买状态   1 2016-10-12 100 1   2 2016-11-12 10 1   2 2016-11-15 100 1   需要查询出11-12 到 11-15期间,购买总金额大于105的: 查询Sql 如下(需要使用到having 函数) select 用户ID,Sum(购买金额

查询出成绩不小于80的人的姓名

sql表结构如下 username  corse score  1 math 87  1 english 70  2 math 72  2 chinese 90  3 math 90  3   english 98  3   chinese 89 解决思路: 1)查询出成绩小于80的人的姓名:SELECT username from  scoretable WHERE score <80 2)之后查询表中名字不在上述结果中的人 SELECT distinct username from  sco