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;