自动补全结合tabs

 <html>
<head>
    <title>仪表管理</title>

<body >

 <!--layer  -->
    <script type="text/javascript" src="${ctxStatic}/layer-v2.3/layer/layer.js"></script>
    <link rel="stylesheet" type="text/css" href="${ctxStatic}/layer-v2.3/layer/skin/layer.css">    
    <script src="${ctxStatic}/layui/layui.js" type="text/javascript"></script>
    <link rel="stylesheet" href="${ctxStatic}/layui/css/layui.css" />      


  <div id="select" tabName="仪表,建筑,线路,设备,区域" tabLength="5" tabType="1,2,3,4,5"

                tabUrl="${ctx}/utils/Select/selectMeter"
                secondUrl="${ctx}/utils/Select/secondMeter"
                buildId="" lineId="" meterId="" buildName="" lineName="" measureName=""
                cjqId="" officeId="" cjqNo="" officeName="">

                </div>

    <!-- tabName 页签名称  ;tabLength 页签页数 ; tabType 页签类型  与tabName一一对应:仪表(1)建筑(2)线路(3)设备(4)区域(5)-->
            <!--tabUrl与secondUrl不需要更改 ;buildId,  lineId,meterId。。。。officeName 可通过 $("#select").attr("buildId") 来获取某个ID值-->

</body>
</html>

<script type="text/javascript">

var types;
var url;
var secondUrl;
var length;
$(function(){
     var div=document.getElementById("select").style.height="55px";//页面div 高度
     var name=$("#select").attr("tabName");//获取tabs的名字
     length=$("#select").attr("tabLength");//获取tabs页签数
     var type=$("#select").attr("tabType");//获取tabs类型
     url=$("#select").attr("tabUrl");//获取tabsURL路径
     secondUrl=$("#select").attr("secondUrl");//获取tabs类型
     var names=name.split(",");  //字符分割
     types=type.split(",");  //字符分割
    
     $("#select").append("<div id='tabdiv' class='layui-tab layui-tab-brief' lay-filter='inputTabs' style=''>"
                         +"<ul id='tabul' class='layui-tab-title' style=''></ul><input type='hidden' id='val'/></div>"
     );
     for (var int = 1; int < parseInt(length)+1; int++) {
         if(int==1){
             $("#tabul").append("<li id='"+int+"' lay-id='"+types[int-1]+"' class='layui-this' style='background: #1694e0;color: #fff;border-bottom: 0px solid #fff;height: 25px;'><strong> "+names[int-1]+" </strong></li>")
         }else{
             $("#tabul").append("<li id='"+int+"' lay-id='"+types[int-1]+"' style='border: 0px solid #fff;height: 25px;'><strong> "+names[int-1]+"  </strong></li>")
         }
        
        }
    
     $("#select").append("<div id='inputdiv'> <input id='inputText' type='text' style='width: "+(parseInt(length)*66+100)+"px;height: 30px;float: left;border: 2px solid #1694e0' oninput='meterInput(event)' onclick='meterOnchick()'/>"
                 +"</div>"
                 +"<div id='meterdiv'style=' position: absolute; display:none ; width: "+(parseInt(length)*66+180)+"px; z-index: 10; background: #fff; max-height: 300px; overflow-x: hidden; text-align: left; overflow-x: hidden;border: 2px solid #1694e0;border-top: 0px solid #1694e0;height: 280px;' </div> "
);
     $("#inputdiv").append("<button style='width: 80px;height: 30px;background: #1694e0;display:block;border: 2px solid #1694e0;color: #fff' onclick='sousuo()' onmouseout=''>搜索</button>");
     document.getElementById("val").value=types[0];//默认展开第一个tabs

});



layui.use('element', function(){
    var $ = layui.jquery
    ,element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
     element.on('tab(inputTabs)', function(){
            location.hash = 'inputTabs='+ this.getAttribute('lay-id');
           var val= this.getAttribute('lay-id');
           $("#inputText").val("");
               var lis = $('#tabul li');
               for(var i=0;i<lis.length;i++){
                   var li = lis[i];//获取每个li元素
                   li.style.background="";
                   li.style.color="";
                }
               this.style.background="#1694e0";
               this.style.color="#fff";
               document.getElementById("val").value=val;
          });
    
    });


//输入框单机事件
function meterOnchick(){
    $("#meterdiv").empty();
    var val=$("#val").val();
    var content=$("#inputText").val();
    document.getElementById("meterdiv").style.display = "";
        $.ajax({
            url : url,
            data:{
                "content" : content,
                "flag":val
            },
            async : false,
            type : "POST",
            dataType : 'json',
            success : function (data){
                var json = data;
                //拼接下拉选项
                $(json).each(function(index, obj) {
                    if(val==1){
                        $("#meterdiv").append("<li id='meterli' class='auto' style='margin-bottom: 0px; 'text='" + obj.id + "'>" +"("+ obj.meterNo+")"+obj.measureName+ "</li>");
                    }else if(val==2){
                        $("#meterdiv").append("<li id='meterli' class='auto'  style='margin-bottom: 0px; 'text='" + obj.id + "'  onmouseover='suspensionenter(this);' onmouseout='suspensionA(this)'>" + obj.buildName+ "</li>");
                    }else if(val==3){
                        $("#meterdiv").append("<li id='meterli' class='auto' style='margin-bottom: 0px; 'text='" + obj.id + "'onmouseover='suspensionenter(this);' onmouseout='suspensionA(this)'>" + obj.lineName+ "</li>");
                    }else if(val==4){
                        $("#meterdiv").append("<li id='meterli' class='auto' style='margin-bottom: 0px; 'text='" + obj.id + "'onmouseover='suspensionenter(this);' onmouseout='suspensionA(this)'>" + obj.cjqNo+ "</li>");
                    }else if(val==5){
                        $("#meterdiv").append("<li id='meterli' class='auto' style='margin-bottom: 0px; 'text='" + obj.id + "'onmouseover='suspensionenter(this);' onmouseout='suspensionA(this)'>" + obj.officeName+ "</li>");
                    }
                });
            }
        });
}
//输入框输入事件
function meterInput(event){
    var val=$("#val").val();
    var content=$("#inputText").val();
    document.getElementById("meterdiv").style.display = "";
        $.ajax({
            url : url,
            data:{
                "content" : content,
                "flag":val
            },
            async : false,
            type : "POST",
            dataType : 'json',
            success : function (data){
                var json = data;
                //清空下拉选项显示的div位置
                $("#meterdiv").empty();
                //拼接下拉选项
                $(json).each(function(index, obj) {
                    if(val==1){
                        $("#meterdiv").append("<li id='meterli' class='auto' style='margin-bottom: 0px; 'text='" + obj.id + "'>" +"("+ obj.meterNo+")"+obj.measureName+ "</li>");
                    }else if(val==2){
                        $("#meterdiv").append("<li id='meterli' class='auto'  style='margin-bottom: 0px; 'text='" + obj.id + "' onmouseover='suspensionenter(this);' onmouseout='suspensionA(this)'>" + obj.buildName+ "</li>");
                    }else if(val==3){
                        $("#meterdiv").append("<li id='meterli' class='auto' style='margin-bottom: 0px; 'text='" + obj.id + "' onmouseover='suspensionenter(this);' onmouseout='suspensionA(this)'>" + obj.lineName+ "</li>");
                    }else if(val==4){
                        $("#meterdiv").append("<li id='meterli' class='auto' style='margin-bottom: 0px; 'text='" + obj.id + "'onmouseover='suspensionenter(this);' onmouseout='suspensionA(this)'>" + obj.cjqNo+ "</li>");
                    }else if(val==5){
                        $("#meterdiv").append("<li id='meterli' class='auto' style='margin-bottom: 0px; 'text='" + obj.id + "'onmouseover='suspensionenter(this);' onmouseout='suspensionA(this)'>" + obj.officeName+ "</li>");
                    }
                    
                });
            }
        });
}

//下拉单机事件

$('#meterli').live('click', function() {
        var meterId = $(this).attr("text");
        document.getElementById("inputText").value = $(this).text();
        $('#meterdiv').css('display', 'none');
        var val=$("#val").val();
        var stime=$("#stime").val();
        var etime=$("#etime").val();
        if(val==2){
            $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":"","buildId":meterId,"cjqId":"","meterId":"","ztreeLineId":"","buildName":"","lineName":"","measureName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
            $("#select").attr("buildId",meterId);
            $("#select").attr("lineId","");
            $("#select").attr("meterId","");
            $("#select").attr("buildName","");
            $("#select").attr("lineName","");
            $("#select").attr("measureName","");
            $("#select").attr("cjqId","");
            $("#select").attr("officeId","");
            $("#select").attr("cjqNo","");
            $("#select").attr("officeName","");
            
        }else if(val==3){
            $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":meterId,"buildId":"","cjqId":"","meterId":"","ztreeLineId":"","buildName":"","lineName":"","measureName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
            $("#select").attr("lineId",meterId);
            $("#select").attr("buildId","");
            $("#select").attr("meterId","");
            $("#select").attr("cjqId","");
            $("#select").attr("officeId","");
            $("#select").attr("cjqNo","");
            $("#select").attr("officeName","");
            $("#select").attr("buildName","");
            $("#select").attr("lineName","");
            $("#select").attr("measureName","");
        }else if(val==1){
            $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":"","buildId":"","cjqId":"","meterId":meterId,"ztreeLineId":"","buildName":"","lineName":"","measureName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
            $("#select").attr("meterId",meterId);
            $("#select").attr("lineId","");
            $("#select").attr("buildId","");
            $("#select").attr("cjqId","");
            $("#select").attr("officeId","");
            $("#select").attr("buildName","");
            $("#select").attr("lineName","");
            $("#select").attr("measureName","");
        }else if(val==4){
            $("#select").attr("cjqId",meterId);
            $("#select").attr("officeId","");
            $("#select").attr("cjqNo","");
            $("#select").attr("officeName","");
            $("#select").attr("buildId","");
            $("#select").attr("lineId","");
            $("#select").attr("meterId","");
            $("#select").attr("buildName","");
            $("#select").attr("lineName","");
            $("#select").attr("measureName","");
            $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":"","buildId":"","cjqId":meterId,"meterId":"","ztreeLineId":"","buildName":"","lineName":"","measureName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
        }else if(val==5){
            $("#select").attr("officeId",meterId);
            $("#select").attr("cjqNo","");
            $("#select").attr("officeName","");
            $("#select").attr("cjqId","");
            $("#select").attr("buildId","");
            $("#select").attr("lineId","");
            $("#select").attr("meterId","");
            $("#select").attr("buildName","");
            $("#select").attr("lineName","");
            $("#select").attr("measureName","");
            $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":meterId,"lineId":"","buildId":"","cjqId":"","meterId":"","ztreeLineId":"","buildName":"","lineName":"","measureName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
        }
        $('#meterdiv').empty();
        });

//点击输入框意外的位置关闭下拉项
    $(document).bind('click', function(e) {
        var e = e || window.event; //浏览器兼容性
        var elem = e.target || e.srcElement;
        while (elem) { //循环判断至跟节点,防止点击的是div子元素
            if (elem.id && elem.id == 'meterdiv') {
                return;
            }
            if (elem.id && elem.id == 'inputText') {
                return;
            }
            elem = elem.parentNode;
        }
        $('#meterdiv').css('display', 'none'); //点击的不是div或其子元素
    });
//搜索
    function sousuo(){//搜索
            var content=$("#inputText").val();
            var val=$("#val").val();
            var stime=$("#stime").val();
            var etime=$("#etime").val();
            if(val==2){
                $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":"","buildId":"","cjqId":"","meterId":"","buildName":content,"lineName":"","measureName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
                $("#select").attr("buildName",content);
                $("#select").attr("meterId","");
                $("#select").attr("lineId","");
                $("#select").attr("buildId","");
                $("#select").attr("lineName","");
                $("#select").attr("measureName","");
                $("#select").attr("cjqId","");
                $("#select").attr("officeId","");
                $("#select").attr("cjqNo","");
                $("#select").attr("officeName","");
            }else if(val==3){
                $("#select").attr("lineName",content);
                $("#select").attr("meterId","");
                $("#select").attr("lineId","");
                $("#select").attr("buildId","");
                $("#select").attr("buildName","");
                $("#select").attr("measureName","");
                $("#select").attr("cjqId","");
                $("#select").attr("officeId","");
                $("#select").attr("cjqNo","");
                $("#select").attr("officeName","");
                $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":"","buildId":"","cjqId":"","meterId":"","lineName":content,"measureName":"","buildName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
            }else if(val==1){
                $("#select").attr("measureName",content);
                $("#select").attr("meterId","");
                $("#select").attr("lineId","");
                $("#select").attr("buildId","");
                $("#select").attr("buildName","");
                $("#select").attr("lineName","");
                $("#select").attr("cjqId","");
                $("#select").attr("officeId","");
                $("#select").attr("cjqNo","");
                $("#select").attr("officeName","");
                $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":"","buildId":"","cjqId":"","meterId":"","measureName":content,"lineName":"","buildName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
            }else if(val==4){
                $("#select").attr("measureName","");
                $("#select").attr("meterId","");
                $("#select").attr("lineId","");
                $("#select").attr("buildId","");
                $("#select").attr("buildName","");
                $("#select").attr("lineName","");
                $("#select").attr("cjqId","");
                $("#select").attr("officeId","");
                $("#select").attr("cjqNo",content);
                $("#select").attr("officeName","");
                $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":"","buildId":"","cjqId":"","meterId":"","measureName":"","lineName":"","buildName":"","cjqNo":content,"officeName":""},page:1}).trigger("reloadGrid");
            }else if(val==5){
                $("#select").attr("measureName","");
                $("#select").attr("meterId","");
                $("#select").attr("lineId","");
                $("#select").attr("buildId","");
                $("#select").attr("buildName","");
                $("#select").attr("lineName","");
                $("#select").attr("cjqId","");
                $("#select").attr("officeId","");
                $("#select").attr("cjqNo","");
                $("#select").attr("officeName",content);
                $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","officeId":"","lineId":"","buildId":"","cjqId":"","meterId":"","measureName":"","lineName":"","buildName":"","cjqNo":"","officeName":content},page:1}).trigger("reloadGrid");
            }
        }
//悬浮事件
    function suspensionenter(obj){
            $("#builddiv").remove();
            var val=$("#val").val();
            $(obj).css("background-color","#DCEBF9");
            var ids = $(obj).attr("text");
            $("#meterdiv").append("<div id='builddiv' style='width: "+(parseInt(length)*66+180)*0.6+"px;background: #f4f4f4;z-index: 100;right: 0px;position: absolute;top: 0px;max-height: 100%;height: 100%;overflow-x: hidden;overflow-x: hidden;'></div>");
            $.ajax({
                url : secondUrl,
                data:{
                    "ids" : ids,
                    "flag":val
                },
                async : false,
                type : "POST",
                dataType : 'json',
                success : function (data){
                    var json = data;
                    $(json).each(function(index, obj) {
                            $("#builddiv").append("<li id='buildli' class='autobuild' style='margin-bottom: 0px;background: #f4f4f4; 'text='" + obj.id + "' onmouseover='buildmover(this);' onmouseout='buildmousechu(this)'>"+obj.measureName+ "</li>");
                    });
                }
            });
        }
        function suspensionA(obj){
            $(obj).css("background-color","#fff");
        }
        
        function buildmover(obj){
             $(obj).css("background-color","#DCEBF9");
            
        }
        function buildmousechu(obj){
             $(obj).css("background-color","#f4f4f4");
        }
        // 二级下拉事件
        $('#buildli').live('click', function() {
                var meterId = $(this).attr("text");
                var stime=$("#stime").val();
                var etime=$("#etime").val();
//                         document.getElementById("inputText").value = $(this).text();
                $('#meterdiv').css('display', 'none');
                $("#select").attr("meterId",meterId);
                $("#select").attr("lineId","");
                $("#select").attr("buildId","");
                $("#select").attr("buildName","");
                $("#select").attr("lineName","");
                $("#select").attr("measureName","");
                $("#select").attr("cjqId","");
                $("#select").attr("officeId","");
                $("#select").attr("cjqNo","");
                $("#select").attr("officeName","");
                $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"officeId":"","lineId":"","buildId":"","cjqId":"","meterId":meterId,"ztreeLineId":"","ztreeBuildId":"","propertyId":"","buildName":"","lineName":"","measureName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
                $('#meterdiv').empty();
                });
        
        
        function rese(){
            var stime=$("#stime").val();
            var etime=$("#etime").val();
            $('#table_list').setGridParam({postData:{"stime":stime,"etime":etime,"officeId":"","lineId":"","buildId":"","cjqId":"","meterId":"","ztreeLineId":"","ztreeBuildId":"","propertyId":"","buildName":"","lineName":"","measureName":"","cjqNo":"","officeName":""},page:1}).trigger("reloadGrid");
        }


</script>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值