1

您好,我的 asp.net 中有一个下拉列表,我想在下拉列表中隐藏和显示我的所有项目

<asp:DropDownList id="DropDownList1" runat="server">
 <asp:listitem value="">Select one</asp:listitem>
 <asp:listitem value="1">Item 1</asp:listitem>
 <asp:listitem value="2">Item 2</asp:listitem>
 <asp:listitem value="3">Item 3</asp:listitem>
 <asp:listitem value="4">Item 4</asp:listitem>
 <asp:listitem value="5">Item 5</asp:listitem>
 <asp:listitem value="6">Item 6</asp:listitem>
 <asp:listitem value="7">Item 7</asp:listitem>
 <asp:listitem value="8">Item 8</asp:listitem>
 <asp:listitem value="9">Item 9</asp:listitem>
 <asp:listitem value="10">Item 10</asp:listitem>
</asp:DropDownList>

我有一个按钮 btnHideAll 和 btnShowALL 如果 btnHideAll 我想隐藏所有这个项目,而当 btnshowall 只显示所有它..

4

4 回答 4

3

尝试这个

<script>
     function toggleSelect(show){
        var sel = document.getElementById('<%=DropDownList1.ClientID%>');
        var selHTML = sel.innerHTML;

        if( selHTML != '' && !show) {
            // save items HTML on first call
            if( window['selHTML']== undefined ||  !window['selHTML'] ) window['selHTML'] = selHTML;
            sel.innerHTML ='';
        }else if( selHTML == '' && show ){
            sel.innerHTML = window['selHTML']
        }   
    };
 </script>

假设您有带有称为 onclick 的 javascript 函数的按钮

<input type="button" value="btnHideAll" onclick="toggleSelect(false)" />
<input type="button" value="btnShowALL" onclick="toggleSelect(true)" />
于 2013-08-29T05:32:25.863 回答
2

像这样试试

在后面的代码中添加一种方法,例如

public List<Object> dfgdf()
{
 List<object> lst=new List<object>;

 lst.add(item1);   // add data

 return lst;
}

在脚本中:

   $(document).ready(function(){
      $("#btnShowALL").click(function(){
      $.getJSON("/Codebehind.aspx.cs/dfgdf",function(result){
      $.each(result, function(i, field){
      $("#DropDownList1").append(field + " ");
         });
      });
    });
 $("#btnHideAll").click(function(){
      $("#DropDownList1").empty(); 
    });
});
于 2013-08-29T05:48:18.520 回答
1
<input type="button" value="Hide options" onclick="changeVisible(false)" />
<input type="button" value="Show options" onclick="changeVisible(true)" />

function changeVisible(visible){
    var dropDown = document.getElementById("<%= DropDownList1.ClientID %>");
    var options = dropDown.getElementsByTagName("option");
    for(var i = 0; i < options.length; ++i){
        options[i].style.display = visible? "inline" : "none";
    }
}
于 2013-08-29T05:46:58.937 回答
0

试试这个,我想这会对你有所帮助.. 演示Here

于 2013-08-29T05:35:32.750 回答