我有以下场景 - 一些 dropdwon 列表和一个文本框。
当用户单击文本框时,我想将这些下拉菜单“重置”为其原始值:
Javascript:
function ResetDropDowns()
{
var ddlSuppliers = document.getElementById('<%=ddlSuppliers.ClientID%>');
var ddlResponse = document.getElementById('<%=ddlResponse.ClientID%>');
var ddlImportStatus = document.getElementById('<%=ddlImportStatus.ClientID%>');
ddlSuppliers.selectedIndex = -1;
ddlResponse.selectedIndex = -1;
ddlImportStatus.selectedIndex = -1;
}
隐藏代码:
tbxAutoCompleteSupplier.Attributes.Add("onFocus", "return ResetDropDowns();");
protected void ddlSuppliers_DataBound(object sender, EventArgs e)
{
ddlSuppliers.Items.Insert(0,
new ListItem("--Please Select Supplier--", "0"));
}
但是,这似乎并不适合做生意。
有什么想法吗?
最佳答案
为什么要将索引更改为 -1
,而默认项目位于索引 0
处?
ddlSuppliers.selectedIndex = 0;
ddlResponse.selectedIndex = 0;
ddlImportStatus.selectedIndex = 0;
应该可以解决问题。
更新
您能否验证下拉列表是否已设置?要调试 ResetDropDowns() 方法,只需在开头键入关键字 debugger
即可。这将破坏编译器,以便您可以单步调试代码。
示例:
function ResetDropDowns()
{
debugger; //compiler will break here
var ddlSuppliers = document.getElementById('<%=ddlSuppliers.ClientID%>');
}
关于javascript - 使用 JavaScript 重置下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776651/