DropDownList点击时从选择中删除“请选择值”?

时间:2014-03-27 06:32:50

标签: c# asp.net drop-down-menu

我有一个带有禁用初始值的下拉列表"请选择值"当我点击它时,它再次显示为选择之一。有没有办法删除这个,我只会看到我的项目,而不是看到"请选择值"从选择的选择?

    <asp:DropDownList ID="ddlRole" runat="server" AppendDataBoundItems="true" Width="115">
         <asp:ListItem Selected="True" Text="Please select value" Value="" disabled />
         </asp:DropDownList>

2 个答案:

答案 0 :(得分:1)

由于您没有autopostback = true,因此更改选择不会将您带到服务器端,您可以在其中删除第一个ListItem。你可以使用javascript或jQuery在客户端进行。

HTML

<asp:DropDownList onclick="changeFun(this);" ID="ddlRole" runat="server" AppendDataBoundItems="true" Width="115">

的Javascript

function changeFun(ddlRole ){         
    if(ddlRole.options[0].text == "Please select value")
        ddlRole.remove(0);
}  

答案 1 :(得分:1)

<asp:DropDownList ID="ddlRole" runat="server" AppendDataBoundItems="true" Width="115" onclick="removeFirst()">
    <asp:ListItem Selected="True" Text="Please select value" Value="plsselect"  />
    <asp:ListItem>First Item</asp:ListItem>
    <asp:ListItem>Second Item</asp:ListItem>
</asp:DropDownList>

在Javascript中

<script>
    function removeFirst() {
        var select = document.getElementById('<%= ddlRole.ClientID %>');

        for (i = 0; i < select.length; i++) {
            if (select.options[i].value == 'plsselect') {
                select.remove(i);
            }
        }
    }
</script>