我正在修改一个插件,但我很难弄清楚如何访问CKEditor中的某些UI元素。基本上,我正在将内部链接添加到链接对话框中,其中链接被分成不同的部分和出版物。当用户从下拉选择列表中选择一个部分时,该部分的出版物将在另一个下拉列表中填充。
以下代码正在从插件文件夹中的link.js文件进行修改。我切掉了所有不必要的部分,并留下了我认为相关的部分。如您所见,在下面的代码中,我正在定义一个带有'id'为'section'的选择下拉列表,后跟'item'下拉列表。如何在section下拉列表的onChange函数中访问'item'下拉列表以填充它呢?
如果我硬编码ID并在运行时填充ID标记,则我的ajax代码已全部解决并正常工作,但这会因编辑器而异,因此我不能依赖硬编码的值。
以下代码正在从插件文件夹中的link.js文件进行修改。我切掉了所有不必要的部分,并留下了我认为相关的部分。如您所见,在下面的代码中,我正在定义一个带有'id'为'section'的选择下拉列表,后跟'item'下拉列表。如何在section下拉列表的onChange函数中访问'item'下拉列表以填充它呢?
如果我硬编码ID并在运行时填充ID标记,则我的ajax代码已全部解决并正常工作,但这会因编辑器而异,因此我不能依赖硬编码的值。
{
type : 'vbox',
id : 'internalOptions',
children :
[
{
id : 'section',
type : 'select',
items :
[
],
setup : function( data )
{
//populate sections here
},
onChange : function (data)
{
//populate items here
},
},
{
id : 'item',
type : 'select',
items :
[
],
setup : function( data )
{
},
}
]
}
编辑:我的问题是CKEditor会更改每个ID,使它们唯一。尽管我将下拉菜单命名为“section”,但CKEditor将其称为176_section,但它的INT并不总是相同的,因此我需要在设置阶段找出如何抓取它。