使用窗口管理器wordpress在wordpress编辑器按钮弹出窗口中创建动态复选框

时间:2015-07-30 12:32:34

标签: jquery checkbox wordpress-plugin

我正在尝试在tinymce wordpress编辑器按钮中创建动态复选框。下面是代码。任何人都可以帮助我,我在做错误。

 editor.windowManager.open({    
                title: 'Property Listing For Multiple Selection',
                 popup_css : false, // Disable TinyMCE's default popup CS

for (var n = 0; n < P_name.length; n++) {

body: [
    {
        type: 'checkbox',
        //name: 'checkboxes',
        text:"MyCheckbox",
        value:"abcll",

                 onclick: function( b ) {
                     //if(b.data.title ==vine) {
                     alert(this.text());
                     alert(this.value());
                    //}
                 },
     },

  ]

 }
  },            
 }); //window manager close

1 个答案:

答案 0 :(得分:0)

这个问题有点老了,但无论如何我都会回答,希望能帮助别人。我没有使用Wordpress插件,但我的回答应该仍然相关。

创建一个新的tinyMCE集合,并在初始化tinyMCE之前使用您的数据设置集合。然后在打开窗口之前迭代它,而不是在window.open()中。将迭代数据推送到数组,然后将其作为&#39; body传递给数组。值。

这是一个工作小提琴:https://jsfiddle.net/qs5hzsh2。点击“删除模板”&#39;打开窗户。

以下示例代码:

var arr = [{title: 'Some title 1', id: 4},{title: 'Some title 2', id: 5}];
var collection = new tinymce.ui.Collection();
collection.set(arr);

tinymce.init({
    selector:'textarea',
    setup : function(ed) {
        var checkboxes = [];
        collection.each(function(item){
            checkboxes.push({type:"checkbox", id: item.id, text: item.title});  
        });
        ed.addButton('deletetemplate', {
            text : 'Delete Templates',
            icon: false, 
            onclick : function() {
                ed.windowManager.open({
                    title: 'Delete Templates',
                    width : 400,
                    height : 400,
                    body: checkboxes
                });
            }
        });
    }
});

如果这对任何人都有帮助,那么如果你可以赞成它,我们将不胜感激:)