如何以编程方式启用下拉列表元素

时间:2013-09-06 06:31:51

标签: asp.net drop-down-menu

我有2个下拉列表dl9和dl10,如下所示 如果我从dl9中单击是,则dl10可见,否则它将被隐藏。

现在我想为dl10选择值'none',当我点击'no'时它会进入数据库;如果是,则只有'已完成'和'正在进行'必须可见。

我该怎么做?

<asp:DropDownList ID="DropDownList9" runat="server" Width="128px"  onchange="display()"  >
        <asp:ListItem Value="yes">Yes</asp:ListItem>
        <asp:ListItem Value="no">No</asp:ListItem>
    </asp:DropDownList>

<asp:DropDownList ID="DropDownList10" runat="server" Width="107px" TargetControlID="DropDownList9" >
        <asp:ListItem Value="completed">Completed</asp:ListItem>
        <asp:ListItem Value="ongoing">Ongoing</asp:ListItem>
        <asp:ListItem Selected="True" Value="none" Enabled="False">[SELECT]</asp:ListItem>
    </asp:DropDownList>

我隐藏dl10的Javascript是:

<script type="text/javascript" language="javascript">
    function display()
     {
         if (document.getElementById('<%=DropDownList9.ClientID%>').value == "no") 
        {
            document.getElementById('d1').style.visibility = "hidden";
            document.getElementById('<%=DropDownList10.ClientID%>').style.visibility = "hidden";
            document.getElementById('<%=DropDownList10.ClientID%>').value = "none";
            //DropDownList10.SelectedValue = "none";   not wrkin
        }
        else {
            document.getElementById('<%=DropDownList10.ClientID%>').style.visibility = "visible";
            document.getElementById('d1').style.visibility = "visible";
        }
    }
 </script>

我的问题是:当我点击'no'并提交'completed'进入数据库....但我需要'none'进入...

3 个答案:

答案 0 :(得分:4)

<{1}}中的

Enabled="False"属性正在产生问题。

ListItem

我删除并检查,它工作正常。

<强> [更新]

如果要隐藏该选项,请在<asp:ListItem Selected="True" Value="none" Enabled="False">[SELECT]</asp:ListItem> 加载页面时隐藏该选项。将此代码写在javaScript标记内,它将隐藏选项。

script

<强> [/更新]

答案 1 :(得分:1)

您必须添加值为无

的元素

答案 2 :(得分:0)

document.getElementById('<%=DropDownList10.ClientID%>').val("none").attr("selected", "selected");