gpt4 book ai didi

javascript - 如何更改 AutoCompleteExtender 客户端 (javascript) 的 TargetControlID?

转载 作者:行者123 更新时间:2023-11-29 15:03:43 24 4
gpt4 key购买 nike

通常,我可以使用如下方式设置 TargetControlID 服务器端:

    AutoCompleteExtender ace = new AutoCompleteExtender();
ace.ID = "AutoCompleteExtender1";
ace.TargetControlID = "whatever";

我知道如何获取 AutoCompleteExtender 客户端,但我也在寻找更新 TargetControlID 客户端的方法。有什么想法吗?

最佳答案

很遗憾,这对于现有的 AutoCompleteExtender 实例是不可能的。以下是您可能感兴趣的几种方法

var x = $find("AutocompleteBehaviorID");//find the instance

x.get_completionListElementID();//get the ID of target textbox

x.set_completionListElementID();//set the ID of target textbox has no effect though :(

x._completionListElement();//direct access to DOM element that acts as target

这里的问题似乎是初始化版本在控制工具包的 init 阶段将附加事件附加到目标文本框(是的,客户端也有一个 init 阶段)。当初始化版本更改为目标时(如您所愿),则不会添加这些事件 keypressblur 等,因此您看不到任何更改.但是,如果您了解 javascript,则可以执行以下操作以使其适用于任何文本框。

$create(Behavior,{properties},{events},interfaces,target);

在哪里

行为

AjaxControlToolkit.AutoCompleteBehavior

属性

是一个javascript对象,如下所示(还有更多的属性,但这些就足够了

{
"completionInterval": 1,
"completionListElementID": "empty panel id",
"completionListItemCssClass": "css class name",
"delimiterCharacters": ";",
"highlightedItemCssClass": "css class name",
"id": "CLIENTSIDEID",
"minimumPrefixLength": 1,
"serviceMethod": "WebMethodName",
"servicePath": "AbsolutePath to asmx file"
}

事件

还有更多事件可用

{
"itemSelected": jsFn,
"populated": jsFn
}

目标

目标元素是最重要的。正是这个文本框吸引了所有的事件、花里胡哨的东西。

$get("元素 ID")

现在一切都结束了,您可以始终通过 javascript 初始化一个自动完成的实例。只需确保该 ID 不存在即可。

关于javascript - 如何更改 AutoCompleteExtender 客户端 (javascript) 的 TargetControlID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com