Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自定义按钮数tinymce_Javascript_Jquery_Tinymce - Fatal编程技术网

Javascript 自定义按钮数tinymce

Javascript 自定义按钮数tinymce,javascript,jquery,tinymce,Javascript,Jquery,Tinymce,如何使用JQuery创建自定义按钮tinymce按钮?我需要n个菜单项按钮。n将在打开tinymce编辑器之前根据所选数据进行定义 我的按钮: editor.addButton('addButtons', { type: 'menubutton', text: 'My button', icon: false, menu: [ { text: 'Menu item 1',

如何使用JQuery创建自定义按钮tinymce按钮?我需要n个菜单项按钮。n将在打开tinymce编辑器之前根据所选数据进行定义

我的按钮:

editor.addButton('addButtons', {
        type: 'menubutton',
        text: 'My button',
        icon: false,
        menu: [
            {
                text: 'Menu item 1',
                onclick: function() {
                    editor.insertContent('&nbsp;<strong>item1</strong>&nbsp;');
                }
            }, {
                text: 'Menu item 2',
                onclick: function() {
                    editor.insertContent('&nbsp;<strong>item2</strong>&nbsp;');
                }
            }, {
                text: 'Menu item 3',
                onclick: function() {
                    editor.insertContent('&nbsp;<strong>item3</strong>&nbsp;');
                }
            }
        ] 
    });

假设您有如下隐藏输入:

<input type="hidden" id="foo" name="zyx" value="3" />
现在,只需将此数组传递给用于生成编辑器的函数:

editor.addButton('addButtons', {
        type: 'menubutton',
        text: 'My button',
        icon: false,
        menu: menuItems
    });

这应该有帮助:不,它只是说如何创建按钮。如果你看我的代码,我已经有了。我需要根据用户输入设置按钮的数量,这很有帮助;但是,我得到了一个错误:当我单击按钮时,编辑器没有定义。在这种情况下,我猜您在原始问题中提供的包含3个静态项的代码也不起作用。你查过TinyMCE的文档了吗?你能提供一个最小的,可复制的例子吗?请查看代码是否正常工作。我认为问题在于var menuItems是在tinymce.init之前创建的,因此我们当时没有编辑器。您的代码是否在tinymce.init{}块中?我刚刚更新了代码,以显示我是如何在tinymce中插入您的代码的。当我点击菜单项1时,它会插入文本项2而不是项1。为什么会这样?
var n = $('#foo').val();
var menuItems = [];

for (var i=0; i<n; i++){
  var msg = '&nbsp;<strong>item' + i + '</strong>&nbsp;';
  var obj = {
    text: 'Menu item ' + i,
    onclick: function() {
        editor.insertContent(msg);
    }
}
  menuItems.push(obj);
}
editor.addButton('addButtons', {
        type: 'menubutton',
        text: 'My button',
        icon: false,
        menu: menuItems
    });