2012-12-17 18 views
0

我是新來Asp.net如何在客戶端使用DropDown列表?

我創建的網站,有DropDown列表和其他一些控制..

每當我改變下拉列表中選擇索引,如果它是等於的Item之一,那麼我想顯示控件,如果它不是,那麼等於我想隱藏這些控件...

在這裏,我試圖用這個代碼,但沒有得到......

var selectmenu = document.getElementById("<%=ddlCategory.ClientID%>"); 
    var chosenoption = selectmenu.options[selectmenu.selectedIndex]; 
    //Controls which are to hidden or visible 
    var strCtrlIds = "lblOrderNumber,txtOrderNumber,btnGetOrderNumber,lblItemNumber,txtItemNumber,lblReason,txtReason,lblMaterial,txtDescription"; 
    if (chosenoption.value != "Dry End - Single Stack") { 
     debugger; 
     ToggleGivenControl(strCtrlIds, false); 

    } 
    else { 
     ToggleGivenControl(strCtrlIds, true); 
    } 
    /********************************************************** 
        Toggle for Display End- Stack Options 
    ************************************************************/ 


    function ToggleGivenControl(strCtrlIds, blnIsVisible) { 
     debugger; 
     var ctrls = strCtrlIds.toString().split(","); 
     var strCtrlId = ''; 
     for (var intCnt = 0; intCnt < ctrls.length; intCnt++) { 
      strCtrlId = ctrls[intCnt]; 
      var ctrl = document.getElementById(strCtrlId); 
      if (ctrl != null) { 
       if (blnIsVisible) { 
        ctrl.style.display = 'block'; 
        ctrl.style.visibility = 'visible'; 
        ctrl.focus(); 
       } 
       else { 
        ctrl.style.display = 'none'; 
        ctrl.style.visibility = 'hidden'; 
       } //Else End 
      } //If End. 
     } //For end. 
    } 

而且我的asp.net的代碼,我小號

<asp:DropDown id="ddlCategory" runat="server" /> 
    <asp:Lable id="lblItem" runat="server" /> 
    <asp:TextBox id="txtItem" runat="server"/> 
.... 

還有一兩件事是我跳上下拉與數據源

請任何一個可以清楚我的問題呢?

回答

0

我覺得這樣的somthink。

<asp:DropDown id="ddlCategory" runat="server" onchange="OnDropDownListChange();" />  
function OnDropDownListChange(){ 
    var selectmenu = document.getElementById("<%=ddlCategory.ClientID%>"); 
    var chosenoption = selectmenu.options[selectmenu.selectedIndex]; 
//Controls which are to hidden or visible 
var strCtrlIds = "<%=lblOrderNumber.ClientID%>,<%=txtOrderNumber.ClientID%>,<%=btnGetOrderNumber.ClientID%>,<%=txtItemNumber.ClientID%>"; 
if (chosenoption.value != "Dry End - Single Stack") { 
    debugger; 
    ToggleGivenControl(strCtrlIds, false); 

} 
else { 
    ToggleGivenControl(strCtrlIds, true); 
} 
} 
+0

thanks @Boriss Pavlovs it's fine fine – Radix