如何动态更改下拉列表的选定值

时间:2011-10-04 11:22:45

标签: javascript asp.net

我想从文本框中选择值,然后根据该值

更改下拉列表的值
<html>
    <head>
        <script>
            function change()
            {
                var value = document.getElementById('text').value;
                document.getElementById("Model").selectedvalue = value
            }
        </script>
    </head>
    <body>
        <asp:DropDownList ID="Model" AutoPostBack="false" runat="server" CssClass="styled">
            <asp:ListItem Value="None">None</asp:ListItem>
            <asp:ListItem Value="Enum">Enum</asp:ListItem>
            <asp:ListItem Value="Sum">Sum</asp:ListItem>
            <asp:ListItem Value="Multi">Multi</asp:ListItem>
            <asp:ListItem Value="Xaxis">Xaxis</asp:ListItem>
        </asp:DropDownList>
        <input id="text" type="text"/>
        <input type="button" onclick="change();"/>
    </body>
<html>

5 个答案:

答案 0 :(得分:0)

您需要将document.getElementById("Model").selectedvalue=valye更改为document.getElementById("<% = Model.ClientID %>").options.value=valye

答案 1 :(得分:0)

答案 2 :(得分:0)

使用以下代码

可以使用jquery轻松完成此操作
 function change()
    {
      $("#Model option[value='"+ $('#text').val()+"']").attr('selected', 'selected');    
     }

答案 3 :(得分:0)

您的代码永远不会找到Model,如果您使用的是.NET 4,则可以添加

CLientIdMode="Static" 

到您的下拉列表

<asp:DropDownList ID="Model" AutoPostBack="false" runat="server" ClientIdMode="Static" CssClass="styled">
        <asp:ListItem Value="None">None</asp:ListItem>
        <asp:ListItem Value="Enum">Enum</asp:ListItem>
        <asp:ListItem Value="Sum">Sum</asp:ListItem>
        <asp:ListItem Value="Multi">Multi</asp:ListItem>
        <asp:ListItem Value="Xaxis">Xaxis</asp:ListItem>
    </asp:DropDownList>

这意味着你的

document.getElementById("Model").selectedvalue = value

现在会找到控件

答案 4 :(得分:0)

你必须写下这个:

document.getElementById("Model").value = value;

而不是你的行:

document.getElementById("Model").selectedvalue = value;

如果您正在使用母版页@hungryMind的答案也是正确的, 因为在javascript中有 .value 而不是.selectedvalue。