好吧,这个让我发疯了 - 我只是不明白为什么这么难。
我创建了一个CKEditor并将自己的标签添加到图像对话框中。在此新标签中,用户可以从列表中选择图片网址。
我想从这些信息中设置图像网址框(第一个标签上的标准输入框)。通常我可以通过ID或类选择它,但CKEditor每次都为每个输入提供不同的ID。
是否有一种简单的方法可以在对话框中选择其他元素,因为在线阅读这些内容并不是没有意义。
(为什么一切都没有像#34;#image_input_1_1"这意味着图片标签,输入1,CKEditor实例1,它会更容易...... )
答案 0 :(得分:1)
最后,我这样做了:
// get current dialog
var dialog = CKEDITOR.dialog.getCurrent();
// get the info tab in the dialog
dialog.selectPage('info');
// get the txtUrl element (found id using devtools plugin)
var tUrl = dialog.getContentElement('info', 'txtUrl');
// set this input box to by variable
tUrl.setValue(strLink);
我希望这将有助于将来。
答案 1 :(得分:0)
您可以进行一些DOM遍历:转到最近的公共父级,然后从那里下降到图像选项卡,然后按类/标记名称选择输入。
好的,这是你的遍历,就像CKeditor疯狂复杂的DOM树周围的一次小旅行:
$(this)
.parents("[role=tabpanel]")
.prevAll("[name=info]")
.find("label:contains(URL)")
.next()
.find("input")
this
是自定义标签中的某个元素。
答案 2 :(得分:0)
如果您正在谈论默认的图像对话框,那么您可以这样做:
dialog.setValueOf( 'info', 'txtUrl', newValue);
如果您需要使用其他输入,请使用devTools插件:http://docs.cksource.com/CKEditor_3.x/Howto/Field_Names