如何从“选择”标签中获取所选项目?

时间:2013-11-14 18:49:49

标签: javascript ckeditor fckeditor

我正在尝试为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 id 01来获取item1和item2的值,但我还想获得item1item2也是如此。

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

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

1 个答案:

答案 0 :(得分:0)

您以错误的方式定义了选择项目(请参阅docs)。无论如何,使用this.getValue()并将其与this.items方法(fiddle)中的commit进行比较,以找到您想要的任何内容:

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 );
                        }
                    }   
                ]
            }           
        ]
    };
} );