2008年2月5日 星期二
自訂 AutoCompleteExtender
使用 AutoCompleteExtender時,如果要像Google Search 之 tips 效果,要怎麼做呢?
重點是,預設之AutoCompleteExtender,會將所有的 text,全部設定到 textbox 上。
找AutoCompleteExtender 之 AutoCompleteBehavior.js 可以找到下面這一段。
_setText: function(text) { this._timer.set_enabled(false);
this._currentPrefix = text;
var element = this.get_element();
var control = element.control;
// todo: should check for 'derives from' too and should somehow manually cause TB to raise property changed event
if (control && control.set_text)
{
control.set_text(text);
}
else { element.value = text; }
this._hideCompletionList();
},
可以發現,是有機會 override set_text 的。
google 一下後,找到了 solution
function pageLoad() {
AjaxControlToolkit.AutoCompleteBehavior.prototype._setText = function(item) {
var text = item.split(" ")[0];
this.get_element().value = text;
}
}
此會將找到的字串之第一段空白前的文字,塞到 textbox 中。
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言