0

我正在尝试为 ckeditor 构建一个自定义插件。

我的问题是我创建了一个dialog窗口,它包含一个“ select”菜单。我想插入用户选择的任何项目。

这是我的脚本。

  function customTag(editor){

      return {
          title:'Audio Link',
          minWidth : 200,
          minHeight : 200,
          buttons : [CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton],
          onOk: function(){
             var id = this.getContentElement('tab', 'menu').getValue();
             //not sure what to do to get item1 and item2.

          },
          contents: [
              {
                  id:'tab',
                  label: 'test',
                  elements: [
                      {
                      type:'select',
                      id:'menu',
                      items: [['item1', 0, 'item2' , 1]],
                      }
                  ]
              }
          ]
      }
  }

      CKEDITOR.dialog.add('customTag', function(editor){

          var ck = new customTag(editor)
          return ck;
      });

我可以通过使用 var id = this.getContentElement('tab', 'menu').getValue(); var idwill be来获得 item1 和 item2 的价值01但我也想获得item1and item2

他们的文档没有说明如何获得它。 http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.html

我不知道该怎么做。任何人都可以帮助我吗?谢谢!

4

1 回答 1

0

您以错误的方式定义了选择项(请参阅文档)。无论如何,使用this.getValue()它并与this.itemsincommit方法(fiddle)进行比较以找到您想要的任何东西:

CKEDITOR.dialog.add( 'myDialog', function( editor ) {
    return {
        title: 'My Dialog',
        onOk: function() {   
            this.commitContent();
        },        
        contents: [
            {
                id: 'tab1',
                label: 'First Tab',
                title: 'First Tab',
                elements: [
                    {
                        type:'select',
                        id:'menu',
                        label: 'My select',
                        // This is the correct way of defining items.
                        items: [
                            [ 'foo', 5 ],
                            [ 'bar', 6 ]
                        ],
                        commit: function() {
                            // Combine value with items to retrieve anything you want.
                            console.log( this.getValue(), this.items );
                        }
                    }   
                ]
            }           
        ]
    };
} );
于 2013-11-15T09:00:43.227 回答