jquery類比可輸入的下拉框

來源:互聯網
上載者:User

標籤:split   comment   function   select   target   com   dex   comm   inpu   

//頁面html<div id="select" class="select" >                              <ul>                                <c:forEach items="${movieCityList}" var="cy" varStatus="st">                                    <li>                                        <a href="javascript:void(0)" onclick="selectOption($(this))">${cy.cityName}</a>                                        <input style="display: none;" name="cityCode" id="cityCode${st.count }" value="${cy.vasCityId}"/>                                    </li>                                </c:forEach>                              </ul>                            </div>
//jquery代碼<script type="text/javascript">            //城市下拉框函數            function getData(){//擷取全部城市資料                var data=new Array();                $(".select a").each(function(i){                    data[i]=$(this).html();                });                return data;            }            function judgeLength(l){//依據結果顯示下拉框高度                if(l>5){                    $(".select").css("height","100px");                }else{                    $(".select").css("height",l*20+"px");                }            }            function selectOption(obj){//選中                $("#cityName").val(obj.html());                $("#cityId").val(obj.next("input").val());                $(".select").hide();                loadCinemalName();            }            function onFocus(){//input標籤擷取焦點                var l=getData().length;                if($(‘#cityName‘).val()==‘‘){                    judgeLength(l);                $(".select").show();                }else{                    var obj=$("#cityName");                    onKeyUp(obj);                }            }            function onKeyUp(obj){//input keyup事件                var input=obj.val()+‘‘;                $(".select li").hide();                var height=0;                   var data=getData();                var l=getData().length;                if(input!=‘‘){//輸入時動態檢索是否存在所輸入的城市                    for(var i=0;i<data.length;i++){                        var str=data[i]+"";                        if(str.indexOf(input)!=-1){                            height++;                            judgeLength(height);                            $(".select").show();                            $(".select li:eq("+i+")").show();                            var cityId=$(".select li:eq("+i+") input").val();                            $("#cityId").val(cityId);                        }                    }                    loadCinemalName();                }else{                    judgeLength(l);                    $(".select li").show();                }            }            function onBlur(e){//失去焦點時隱藏下拉框                alert(e.target);                //$(".select").hide();            }        </script>

jquery類比可輸入的下拉框

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.