gpt4 book ai didi

tridion - 如何为 Tridion 控件等 ASP 控件创建事件处理程序?

转载 作者:行者123 更新时间:2023-12-02 12:05:46 24 4
gpt4 key购买 nike

我有一个 aspx 页面 PopupReference。我有 Tridion 控制按钮和一些 asp 控件,例如 asp:ddSelectOption (Dropdown)。

因此,在 Popupreference.js 中,当我们为 Tridion 按钮创建事件处理程序时,我尝试为我的 asp 控件创建相同的事件处理程序,如下所示:

这是 Tridion 按钮:

c.InsertButton = $controls.getControl($("#InsertButton"), 
"Tridion.Controls.Button");

这是我的下拉菜单:

c.ddSelectOption = $("#ddSelectOption");

tridion 按钮的事件处理程序:

$evt.addEventHandler(c.InsertButton, "click", this.getDelegate(this._execute));

我的下拉列表的事件处理程序:

$evt.addEventHandler(c.ddSelectOption, "onselectedindexchanged",
this.getDelegate(this._ondropdownitemchanged));
console.log('eventhandler created');

我正在调用该函数:

RTFExtensions.Popups.PopupReference.prototype._ondropdownitemchanged = 
function PopupReference$_ondropdownitemchanged(event) {
Console.log('Initializing inside dropdown...');
};

但我无法在任何地方看到最后一条日志,我认为它没有进入函数ondropdownitemchanged(event)。有谁知道我如何才能做到这一点?

最佳答案

我怀疑您的 onselectedindexchanged 事件需要是 change

我已经使用下拉菜单实现了类似的东西,以下是我的代码中的部分。我希望这可以帮助您找到解决方案:

1)在html/aspx页面中:

<select id="systemDD"></select><label for="systemDD">Select a system</label>

2) 在 JavaScript 中:

var p = this.properties;
var c = p.controls;

// the the drop down items
c.SystemDropDown = $("#systemDD");

添加事件处理程序:

$evt.addEventHandler(c.SystemDropDown, "change",
this.getDelegate(this._systemDropDownChanged));

方法:

EditorName.prototype._systemDropDownChanged = 
function EditorName$Extensions$EditorName$_systemDropDownChanged() {
var p = this.properties;
var c = p.controls;
// get the selected system value
var selectedSystem = $j(c.SystemDropDown).val();

};

我会通过以下方式解决这个问题:

  1. 当您获取下拉元素时,请检查您是否将其作为对象
  2. 尝试将 onselectedindexchanged 更改为仅“更改”
  3. 烈性酒精饮料:)

祝你好运

关于tridion - 如何为 Tridion 控件等 ASP 控件创建事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11947423/

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