[英]Reset dropdown lists using javascript
我有以下情況-一些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
時將索引更改為-1
?
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與我們CMS的jquery之間發生沖突-現在全部排序!
解析度:
我將控件包裝在div中(稱為包裝器),然后將.uniform應用於所述div中的控件。
function pageLoad(sender, args) {
if (args.get_isPartialLoad()) {
$("#wrapper select, #wrapper span, #wrapper input").uniform();
}
}
這樣可以確保css得到維護。
謝謝你的建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.