程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 以JSon來實現TextBox可選擇可輸入

以JSon來實現TextBox可選擇可輸入

編輯:關於ASP.NET

這裡只是把主要的代碼貼出來,不再進行過多的說明,重要的地方以注釋的方式進行說明。

<div id="pubDiv" style="background-position: #9999FF; font-size:12px; display:none; z-index:0; overflow:auto; position:absolute; border:#EDEDED 0px solid;background:#EDEDED;"></div>
    <script type="text/javascript" language="javascript">
      // 注意下面的等號右面,不能是“<%=BuildJson() %>”,因為JSon整體不能是字符串,同時最後也不能加分號:“;”
        var strJson = <%=BuildJson() %>

        function ShowBdzDiv() {
            var dept = document.getElementById("<%=ddlDeptEdit.ClientID %>").value;
            // 構建要下拉選擇的內容
            var strHtml = "<table border=0px cellpadding=0  cellspacing=0 width=120px><tr>";
            for (var key in strJson[dept]) {
                strHtml += "<tr><td onclick=SetBdz()>" + key + "</td></tr>";
            }
            strHtml += "</table>";
            var oBdz = document.getElementById("<%=txtBdz.ClientID %>");
            var oDiv = document.getElementById("pubDiv");
            oDiv.innerHTML = strHtml;

            // 設置顯示的位置,並顯示
            oDiv.style.top = "99px";
            oDiv.style.left = "100px";
            oDiv.style.display = "block";

        }
        // 當點擊選擇一個內容時
        function SetBdz() {
            var oBdz = document.getElementById("<%=txtBdz.ClientID %>");
            // 把選擇內容設置到TextBox上,並隱藏下拉選擇項
            oBdz.value = event.srcElement.innerText;
            HiddenDiv();
        }
        // 隱藏下拉選擇項
        function HiddenDiv() {
            var oDiv = document.getElementById("pubDiv");
            oDiv.style.display = "none";
        }
    </script>
。。。
<!--這裡只有一點要注意:設置AutoCompleteType="Disabled"-->
<asp:TextBox ID="txtBdz" AutoCompleteType="Disabled" onfocus="ShowBdzDiv()" runat="server"></asp:TextBox>

這裡要說明的是,這裡只實現了下拉選擇項的點擊選擇,不能使用鍵盤操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved