2014-11-28 3 views
2

Я пишу CKEditor плагин, и получил мою голову вокруг основы, т.е.CKEditor + Plugin Linked Выбрать Боксы

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

    return { 
     title: 'Link to a document group', 
     minWidth: 400, 
     minHeight: 200, 
     contents: [ 
      { 
       id: 'tab-groups', 
       label: 'Add Document Group Link', 
       elements: [ 
        { 
         type : "text", 
         id : "documentGroupTitle", 
         label : "Set a link label" 
        }, 
        { 
          type : "select", 
          id : "documentGroup", 
          label : "Select a document group from the list to create a link", 
          items : window.documentGroups 
        } 
       ] 
      } 
     ], 
     onOk:function(){ 
      var dialog = this; 

      groupId = dialog.getValueOf("tab-groups", "documentGroup"); 
      groupTitle = dialog.getValueOf("tab-groups", "documentGroupTitle"); 
      theDiv = document.createElement("div"); 
      anchor = document.createElement("a"); 
      anchor.setAttribute("href", "/documents.php?gid=" + groupId) 
      anchor.innerHTML = groupTitle; 
      theDiv.appendChild(anchor); 
      editor.insertHtml(theDiv.innerHTML); 
     } 
    }; 

}); 

Однако то, что я хотел бы TODO, это есть один, который затем выберите обновляет второй выбор. То есть каскад. Кто-нибудь видел это, или получил пример, чтобы они могли указать мне в направлении?

Спасибо за вашу помощь

Джеймс

+1

Вы пробовали с помощью метода jQuery.change()? Вы можете получить выбранное значение из первого выпадающего списка, когда оно выбрано. Используйте это, чтобы определить, какие значения будут отображаться во втором падении. – 97ldave

+0

У меня нет. Мой J-запрос невелик. Где это будет? благодаря – WJProctor

ответ

2

Как 97ldave упоминалось, jQuery.change()

$(document).ready(function() { 

    $('#selectBox').change(function() { 

     var value = $(this).val(); 

     if (typeof value == 'undefined' || value == '') { 
      return; // Don't do anything when the active selection has a value of nothing. 
     } 

     // If something with a value is selected, do this 
     alert(value); 

    }); 

}); 
2

Проверьте link dialog definition для вдохновения. В зависимости от того, какой тип ссылки вы выберете, отображаются разные элементы (что на самом деле почти то, что вы хотите).

Определите обработчик onChange в первом элементе выбора, затем используя dialog.getContentElement, сделайте все, что хотите, со вторым select element.