2013-11-14 4 views
0

ckeditor 용 사용자 정의 플러그인을 빌드하려고합니다.'select'태그에서 선택한 항목을 가져 오는 방법은 무엇입니까?

제 질문은 내가 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; 
     }); 

나는 0 또는 1 될 것 var id = this.getContentElement('tab', 'menu').getValue();var id를 사용하여 항목 1과 항목 2에 대한 가치를 얻을 수 있어요 그러나 나는 또한 item1item2도 얻을 싶어요.

해당 문서는 가져 오는 방법에 관해별로 말하지 않습니다. http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.html

잘 모르겠습니다. 아무도 그것에 대해 나를 도울 수 있습니까? 감사!

답변

0

선택 항목을 잘못된 방법으로 정의했습니다 (docs 참조). 어쨌든, 아무것도 찾을 commit 방법 (fiddle)에 this.items 함께 this.getValue()를 사용하고 비교 당신이 원하는 :

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