列表框在WordPress 3.9中返回错误的值

时间:2014-04-24 作者:JayDeep Nimavat

我已经为WordPress 3.8创建了列表框,但它在新版本WordPress 3.9中不起作用。所以我编写了JavaScript代码:

(function() {
var ICONS;
var icon = function(id) {
    return \'<i class="fa fa-\' + id + \'"></i>\';
}

ICONS = ["rub", "ruble", "rouble", "pagelines", "stack-exchange", "arrow-circle-o-right", "arrow-circle-o-left", "caret-square-o-left", "toggle-left", "dot-circle-o", "wheelchair", "vimeo-square", "try", "adjust", "anchor", "archive", "arrows", "arrows-h", "arrows-v", "asterisk", "ban", "bar-chart-o", "barcode", "bars", "beer", "bell", "bell-o", "bolt", "book", "bookmark", "bookmark-o", "briefcase", "bug"]

var menuval=[];
for (var i = 0; i < ICONS.length; i++) {
    var _id = ICONS[i];
    menuval.push({text: icon( _id )+\' \'+_id, onclick: function(){setcontentfun(_id)} 
  });
}

tinymce.PluginManager.add("font_awesome_glyphs", function(editor, url) {
    var menucreate=editor.addButton(\'fontAwesomeGlyphSelect\', {
        type: \'listbox\',
        text: \'Icons\',
        icon: false,
        values: menuval
    });
});

function setcontentfun(id) {
    alert(id);
    return false;
}
})();
因此,它创建了列表框并显示得很好,但是,当我单击菜单项时,它会提醒“ICON”数组的最后一个元素,在那里它可以很好地显示列表框中的所有元素。那么,如何提醒我单击的列表项呢?

1 个回复
最合适的回答,由SO网友:JayDeep Nimavat 整理而成

经过长时间的研究,我找到了解决办法,

var menuval=[];
var insertVar = function (val) {
    return function () { 
        editor.insertContent(val);
    }
};
for (var i = 0; i < SHORTCODES.length; i++) {
    var _id = SHORTCODES[i];
    var _code = SHORTCODE_EXE[i];
    var variable = insertVar(_code);
   //alert(_id+\' \'+ SHORTCODES[i]+\' \'+SHORTCODE_EXE[i]);
    menuval.push({text: _id, onclick: variable }); 
}

结束

相关推荐

在WP 3.9中调用wp_EDITOR时,TinyMCE中的白底白文本

的特征之一my plugin 是在编辑帖子屏幕上的元框中添加一个TinyMCE编辑器实例。这在3.9之前一直很有效,我不清楚到底出了什么问题。以下是包含meta box编辑器代码的相关文件(指向Github commit中文件的链接):admin/author-customization-admin.phpadmin/assets/js/edit-post.js</我错过了什么?这是我加载Edit Post屏幕时得到的信息:但内容在那里,当您在文本区域内突出显示时可以看到:在WordPress 3.