2013-12-11 83 views
0

RadComboBox(自動完成)在關注時正在擴展下拉列表。我想在自動填充框中沒有文字時阻止它。不要展開RadComboBox DropDown焦點

我試圖水木清華這樣

function OnClientTextChange (sender, eventArgs) { 
    if (false && sender.get_text() == "") { 
    showDropDown(sender, null); 
} 

但「OnClientTextChange不火,直到用戶點擊Enter鍵或組合框以外的點擊。」

我需要不同的方法來防止其文本爲空時展開下拉菜單。

回答

2

我通過閱讀這是生成並保存在隱藏字段

function OnClientDropDownOpening(sender, eventArgs) { 
    if ($("#RadComboBox1_ClientState").val() != "") { 
     var obj = jQuery.parseJSON($("#RadComboBox1_ClientState").val()); 
     if (obj.text === "") { 
     sender.set_cancel(true); 
     } 
    } else { 
     eventArgs.set_cancel(true); 
     } 
    } 
1

我認爲TextChanged事件引用自動完成文本框? OnClientTextChanged來自客戶端onblur事件的觸發事件,當另一個控件收到焦點時觸發事件。您正在尋找關鍵事件,無論是keydown,keyup還是按鍵。當一個關鍵事件(keydown/keyup/keypress)在自動完成中觸發時,您可以顯示下拉菜單。

+0

,然後做什麼JSON值固定呢?我仍然得到文本框文本,這是問題 – levi

+0

改爲使用keypress事件。這將作爲用戶類型。 –