<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>
在选择“管理”选项时,应禁用“等级”文本框,否则应启用它。
答案 0 :(得分:0)
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="ItemChanged">
<asp:ListItem Value="1">management</asp:ListItem>
<asp:ListItem Value="2">cet</asp:ListItem>
<asp:ListItem Value="3">comedk</asp:ListItem>
</asp:DropDownList>
protected void ItemChanged(object sender, EventArgs e)
{
if(DropDownList1.SelectedItem.Value == "1")
//disable text box
}
答案 1 :(得分:0)
将“onselectedindexchanged”事件添加到下拉控件中。 然后在下拉列表选择值为1时禁用文本框。
答案 2 :(得分:0)
使用以下代码:
<asp:DropDownList ID="DropDownList1" runat="server"
onselectedindexchanged="SelectedIndexChanged" AutoPostBack="True" >
<asp:ListItem Value="1">management</asp:ListItem>
<asp:ListItem Value="2">cet</asp:ListItem>
<asp:ListItem Value="3">comedk</asp:ListItem>
</asp:DropDownList>
protected void SelectedIndexChanged(object sender, EventArgs e)
{
if(DropDownList1.SelectedItem.Value == "1")
{
//DISABLE TEXT BOX
}
else
{
//ENABLE TEXT BOX
}
}
如果您有任何问题,请告诉我。
答案 3 :(得分:0)
试试这个&gt;&gt;
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_Changed">
<asp:ListItem Value="1">management</asp:ListItem>
<asp:ListItem Value="2">cet</asp:ListItem>
<asp:ListItem Value="3">comedk</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="TextBox1" runat= "server"></asp:TextBox>
</div>
/*Code Behind*/
protected void DropDownList1_Changed(object sender, EventArgs e)
{
if(DropDownList1.SelectedValue == "1")
{
TextBox1.Enabled = false;
}
else
{
TextBox1.Enabled = true;
}
}
答案 4 :(得分:0)
您不需要执行页面回发以在更改下拉列表时禁用文本框:
<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。你不能和一个不在那里的控件的事件监听器:)