2010-09-23 112 views
1

我有以下情形 - 幾個dropdwon列表和一個文本框。使用javascript重置下拉列表

我想 '復位' 這些下拉菜單的原始值,當用戶點擊文本框:

的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

出於好奇最終是什麼罪魁禍首? – Peter 2010-09-30 12:19:47

回答

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%>'); 
} 
+0

你好彼得 - 我已經把它改爲0,但仍然沒有快樂 - 奇怪的是正在進行。 – 2010-09-23 09:01:42

+1

@Ricardo - 你試過手動調用ResetDropDowns()並查看它是否有效? – DashK 2010-09-23 09:23:59

0

這其實是因爲這個JavaScript和我們的CMS」的jQuery之間的衝突 - 現在所有排序!

分辨率:

我包中的控件一個div(稱爲包裝器)中,然後內施加的.uniform到控制所述DIV。

function pageLoad(sender, args) { 
     if (args.get_isPartialLoad()) { 
      $("#wrapper select, #wrapper span, #wrapper input").uniform(); 
     } 
    } 

確保css得到維護。

感謝您的建議。

相關問題