javascript - 使用 JavaScript 重置下拉列表

标签 javascript textbox drop-down-menu onfocus

我有以下场景 - 一些 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/

相关文章:

javascript - 在 window.location.reload() 之后加载隐藏的图标

c# - TextBox OnClick 事件 - 单击了什么?

wpf - 防止文本框在 WPF 中水平扩展

CSS3 下拉菜单悬停不起作用

jquery - 为什么我的下拉菜单第一次点击后突然消失了?

javascript - 三元条件求expmod?

javascript - d3js : Add quantitative dimension to Hierarchical Edge Bundling

php - 将 PHP 和 JSON 编码转换为 Javascript 日期

asp.net - 在验证失败时更改文本框边框和背景

php - 动态加载下拉框的基础知识