我有一个带有项All, abc, etc
的文本框和下拉列表。我希望javascript代码在选择all时禁用文本框,并在选择其他任何内容时启用它。
我使用该代码进行了解决,但问题是如果发布了表单,即使选择了abc或其他任何内容,文本框也会被禁用。
<script type="text/javascript">
function changeddl() {
document.getElementById("txtsearch").disabled = document.getElementById("ddlcolumn").value == "All";
}
</script>
ASPX
<asp:DropDownList ID="ddlcolumn" runat="server" CssClass="ddl" Width="120px" AppendDataBoundItems="true" ClientIDMode="Static" ValidationGroup="Search" onchange="changeddl();" >
<asp:ListItem>All</asp:ListItem>
<asp:ListItem>abc</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txtsearch" runat="server" CssClass="txt" Width="200px"
ValidationGroup="Search" ClientIDMode="Static" SkinID="txt"></asp:TextBox>
答案 0 :(得分:1)
尝试拨打changeddl()
body onload
功能
<body onload="changeddl()">
答案 1 :(得分:0)
var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].text;
if(e === "All"){
document.getElementById("txtsearch").style.display = "none"; // However you want to 'disable'
}
答案 2 :(得分:0)
在页面回发时,请编写以下代码:
protected void Page_Load(object sender, EventArgs e)
{
if(ddlcolumn.SelectedValue == "All")
{
txtsearch.Attributes.Add("disabled","disabled");
}
else
{
txtsearch.Attributes.Remove("disabled");
}
}