javascript - 如何使 Ckeditor richcombo 像 html datalist 正常搜索一样可搜索

标签 javascript jquery ckeditor

我正在使用 CKEDITOR 中的丰富组合创建自定义下拉菜单。

我想在其中添加搜索功能,例如按键搜索或输入文本框搜索。

我的投递箱看起来像这样。

enter image description here

最佳答案

这里我没有任何默认方法,这就是我这样做的原因,它运行良好。

editor.ui.addRichCombo( 'richcombo',{
     init : function(){
                   this.startGroup("");
                   this.add('search', '<div onmouseover="parent.comboSearch(this);" onclick="parent.nemsComboSearch(this);"><input class="cke_search" placeholder="Search"/></div>', '');

                    this.add(styles[i].name,styles[i].name,styles[i].element);
                },
});

我在这里添加组合搜索

window.comboSearch= function(element) {
   var anchorID = $(element).closest('a').attr("id");
   var liDom = $(element).closest('li');
   liDom.empty().append('<div id="' + anchorID + '" style="padding:4px 5px;"><input class="cke_search" placeholder="Search" /></div>');
   liDom.find('input').off("keyup").on("keyup", function() { 
       var data = this.value;
       //create a jquery object of the rows
       var jo = liDom.siblings('li');
       data = data.toUpperCase();
       var len = jo.length;
       for(var i=0;i<len;i++){
           if(jo[i].textContent.toUpperCase().indexOf(data)){
               jo[i].hidden = true;
           }else{
               jo[i].hidden = false;
           }
       }
   }).focus(function() {
       this.value = "";
       $(this).unbind('focus');
   });
};

function filter(data, jo) {
   if (this.value === "") {
       jo.show();
       return;
   }
   //hide all the rows
   jo.hide();

   //Recusively filter the jquery object to get results.
   jo.filter(function(i, v) {
       var $t = $(this);
       if ($t.is(":icontains('" + data + "')")) {
           return true;
       }
       return false;
   }).show();
}

工作正常。

关于javascript - 如何使 Ckeditor richcombo 像 html datalist 正常搜索一样可搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49877740/

相关文章:

javascript - 如何在 ngx-ckeditor Angular 7 中使用 insertText 方法

javascript - 如何在 javascript 变量中设置 ckeditor html 数据

javascript - 在客户端将长文本分解为 <div> 元素

javascript - 如何使用摄取附件插件和 JavaScript 客户端在 Elasticsearch 6.1 中索引 PDF?

javascript - 我如何检查 parent 在 html 中是 span 还是 anchor?

javascript - jquery 选项卡使用绝对位置而不是显示 :none

javascript - CKEditor 将 HTML 插入文本区域

javascript - 使用 getusermedia 显示 html 视频

javascript - 如何查找加载页面所花费的时间

jquery - CSS/图像翻转/jQuery?