RadComboBox(自动填充)在聚焦时正在扩展下拉列表。我希望在自动完成框中没有文本时阻止它。
我试过这样的事情
function OnClientTextChange (sender, eventArgs) {
if (false && sender.get_text() == "") {
showDropDown(sender, null);
}
但是" OnClientTextChange不会触发,直到用户点击Enter或在组合框外部点击。"
当文本为空时,我需要采用不同的方法来阻止扩展下拉列表。
答案 0 :(得分:2)
我通过读取生成并保存在隐藏字段中的json值来修复它
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 :(得分:1)
我认为TextChanged事件是指自动完成文本框? OnClientTextChanged
从客户端onblur事件触发,当另一个控件获得焦点时触发该事件。您正在寻找关键事件,无论是keydown,keyup还是keypress。当密钥事件(keydown / keyup / keypress)在自动完成时触发时,您可以显示下拉列表。