你并不需要做一个网页提交到一个下拉的变化禁用一个文本框:
<div>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="1">management</asp:ListItem>
<asp:ListItem Value="2">cet</asp:ListItem>
<asp:ListItem Value="3">comedk</asp:ListItem>
</asp:DropDownList>
</div>
<script type="text/javascript">
document.getElementById("<%=DropDownList1.ClientID %>").addEventListener("change", ChangeRankState, false);
function ChangeRankState() {
var e = document.getElementById("<%=DropDownList1.ClientID%>");
var ddVal = e.options[e.selectedIndex].value;
if (ddVal === '1') {
document.getElementById('<%=txtRank.ClientID%>').disabled = true;
} else {
document.getElementById('<%=txtRank.ClientID%>').disabled = false;
}
}
</script>
这是只是一个例子,你可能想要更新它更加灵活,但我希望你明白了。
如果你愿意,你可以改变这一行:
var ddVal = e.options[e.selectedIndex].value;
阅读:
var ddVal = e.options[e.selectedIndex].text;
,然后改变:
if (ddVal === '1')
要
if (ddVal === 'management')
比较可见文本而不是值。
需要注意的是脚本应该低于div。你不能和一个事件监听器到一个不在那里的控件:)
你尝试过什么吗? –
欢迎来到SO,如果您是新用户,请在此处查看[如何提问](http://stackoverflow.com/help/how-to-ask)。您需要正确标记您的问题,以便您可以从该区域收到良好的答案。目前你所问的问题可以使用JavaScript和Asp.net进行排序。对于即时反馈,您需要添加**到目前为止所尝试的内容**,因为这会缩短为您准备样本的时间。 – Prabhat