Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态更改下拉列表的选定值_Javascript_Asp.net - Fatal编程技术网

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

Javascript 如何动态更改下拉列表的选定值,javascript,asp.net,Javascript,Asp.net,我想从文本框中选取值,然后根据该值更改下拉列表的值 <html> <head> <script> function change() { var value = document.getElementById('text').value; document.getElementById("Model").selectedval

我想从文本框中选取值,然后根据该值更改下拉列表的值

<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>

函数更改()
{
var value=document.getElementById('text').value;
document.getElementById(“模型”)。selectedvalue=value
}
没有一个
枚举
总和
多个
Xaxis

您需要将
document.getElementById(“Model”).selectedvalue=valye
更改为
document.getElementById(“”).options.value=valye
这可能会帮助您您可以使用以下代码通过jquery轻松完成此操作

 function change()
    {
      $("#Model option[value='"+ $('#text').val()+"']").attr('selected', 'selected');    
     }

如果您使用的是.NET4,您的代码将永远找不到模型,您可以添加

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").value = value;
而不是你的台词:

document.getElementById("Model").selectedvalue = value;
如果你使用母版页@hungryMind,答案也是正确的,
因为在javascript中有.value而不是.selectedvalue.

这两者之间的区别是什么?:?模型是asp控件,它的id不是静态的,而是基于页控件层次结构生成的。Model.ClientID将给出下拉列表的实际id。当你投票反对时,请给出理由
document.getElementById("Model").selectedvalue = value;