• oninput、onfocus、onmousedown、setTimeout 实现搜索下拉框功能


        $("#to").focus(function(){
            $(".to-list").show();
        });
        $(document).on("mousedown",function(e){
            var obj = e.target;
            if(!($(obj).attr("id") =="to" || $(obj).parents(".to-list-box").length > 0)){
                $(".to-list").hide();
            }
        });
        $(document).on("click",".to-list-box li",function(){
            var text = $(this).text();
            var value = $(this).attr("value");
            if(value == "0"){
                $("#to").val("");
            }else{
                $("#to").val(text);
            }
            $("#toList select").val(value);
            $(".to-list").hide();
        })
        function showCurrentVal1(_this){
            setTimeout(function(){
                var val = _this.value;
                var str = "";
                if(val != ""){
                    $("#toList option").each(function(index,el){
                        if($(this).text().indexOf(val) >= 0){
                            str += "<li value='"+$(this).attr("value")+"'>"+$(this).text()+"</li>"
                        }
                    });
                    $(".to-list-box").html(str);
                }else{
                    $("#toList option").each(function(index,el){
                        str += "<li value='"+$(this).attr("value")+"'>"+$(this).text()+"</li>"
                    });
                    $(".to-list-box").html(str);
                }
            },500);
        }
    .to-box{position: relative;width: 100%}
    .to-list{width: 100%;position: absolute;top: 32px;max-height: 500px;overflow-y: auto;border: 1px solid #ddd;background: #fff;z-index: 111;box-sizing: border-box;-webkit-box-sizing:border-box;-moz-box-sizing: border-box}
    .to-list-box{width: 100%;}
    .to-list-box li{display: block;line-height: 30px;cursor: pointer;padding: 0 10px;}
    .to-list-box li:hover{background: #5a98de;color: #fff}
                        <div class="to-box">
                            <input type="" id="to" class="form-control col-xs-12 col-sm-12 input-text radius" value="{$Product['destinationName']}" oninput="showCurrentVal1(this)">
                            <div class="to-list" style="display: none">
                                <ul class="to-list-box">
                                    <li value="0">请选择</li>
                                    <volist name="areaList" id="vo">
                                        <li value="{$vo.area_id}" <eq name="Product.destination" value="$vo.area_id">selected</eq>>{$vo.cn_name}</option>
                                        <volist name="vo.son" id="s_vo">
                                            <li value="{$s_vo.area_id}" <eq name="Product.destination" value="$s_vo.area_id">selected</eq>>├{$s_vo.cn_name}</option>
                                            <volist name="s_vo.son" id="ss_vo">
                                                <li value="{$ss_vo.area_id}" <eq name="Product.destination" value="$ss_vo.area_id">selected</eq>>&nbsp;&nbsp;├{$ss_vo.cn_name}</option>
                                            </volist>
                                        </volist>
                                    </volist>
                                </ul>
                            </div>
                        <span class="select-box radius" id="toList" style="display: none">
                            <select class="form-control col-xs-12 col-sm-12 select" name="destination" style="height: 25px;">
                                <option value="0">请选择</option>
                                <volist name="areaList" id="vo">
                                    <option value="{$vo.area_id}" <eq name="Product.destination" value="$vo.area_id">selected</eq>>{$vo.cn_name}</option>
                                    <volist name="vo.son" id="s_vo">
                                        <option value="{$s_vo.area_id}" <eq name="Product.destination" value="$s_vo.area_id">selected</eq>>├{$s_vo.cn_name}</option>
                                        <volist name="s_vo.son" id="ss_vo">
                                            <option value="{$ss_vo.area_id}" <eq name="Product.destination" value="$ss_vo.area_id">selected</eq>>&nbsp;&nbsp;├{$ss_vo.cn_name}</option>
                                        </volist>
                                    </volist>
                                </volist>
                            </select>
                        </span>
                        </div>
  • 相关阅读:
    mysql六:数据备份、pymysql模块
    mysql三:表操作
    mysql四:数据操作
    剑指offer-数组
    剑指offer-回溯
    中缀表达式到后缀表达式的转换
    大数取余算法的证明及实现
    Windows下匿名管道进程通信
    Windows下使用命令行界面调用VS2015编译器编译C++程序方法
    6 个技巧,提升 C++11 的 vector 性能
  • 原文地址:https://www.cnblogs.com/xie-xiao-chao/p/7928651.html
Copyright © 2020-2023  润新知