我有以下场景 - 一些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"));
}
然而,这似乎没有做生意。
有什么想法吗?
答案 0 :(得分: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%>');
}
答案 1 :(得分:0)
这实际上是因为这个javascript和我们的CMS'jquery之间存在冲突 - 现在全部排序了!
分辨率:
我将控件包装在div(称为包装器)中,然后将.uniform应用于所述div中的控件。
function pageLoad(sender, args) {
if (args.get_isPartialLoad()) {
$("#wrapper select, #wrapper span, #wrapper input").uniform();
}
}
确保维持css。
感谢您的建议。