selectize.js 预输入字符(黄色)颜色未重置

Posted

技术标签:

【中文标题】selectize.js 预输入字符(黄色)颜色未重置【英文标题】:selectize.js typeahead character (yellow) color is not resetting 【发布时间】:2017-02-13 02:47:45 【问题描述】:

我尝试将 selectize.js 用于我的一个组件,但我遇到了一个问题。有人可以帮忙指出问题所在吗?

我只是输入了所有选项的前几个字符并删除了这些字符,但黄色突出显示并没有从以前的类型重置。不会删除带有选项类标记的 div 的附加跨度。

JSP

<select id="select-state" multiple>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
</select>  

脚本

<script>
    $(function() 
        $('#select-state').selectize(
            plugins: ['remove_button'],
        );
    );
</script>  

我用于 selectize.js 的版本是 0.12.3。

https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.3/css/selectize.bootstrap2.min.css

https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.3/js/standalone/selectize.min.js

jsfiddle: http://jsfiddle.net/wh6Nx/308/

更新

正如我提到的问题已经添加到 0.12.4 里程碑的一部分。可能未来的版本不会有这个问题。

【问题讨论】:

你能提供一个 jsfiddle 或 plunkr 的例子吗? 在Codepen 中尝试,我在控制台中遇到了这个错误:«Selectize: Dependency MicroPlugin is missing»。没有找到它的 CDN... 它看起来像 Selectize.js 的依赖项,您必须下载:npmjs.com/package/microplugin @n0m4d :首先非常抱歉!我在上面粘贴了错误的 js 链接。我已经编辑了该网址并添加了 jsfiddle 链接。 @smcd 的回答对你有好处吗?看起来你的答案...... @LouysPatriceBessette - 不,我仍然在他提供的那个 jsfiddle 中看到问题。 jsfiddle.net/kthy1gtx/1 【参考方案1】:

这是一个错误报告的链接,看起来像您遇到的问题https://github.com/selectize/selectize.js/issues/1141

这是一个小提琴演示问题https://jsfiddle.net/kthy1gtx/

这里有一个解决问题的技巧

https://jsfiddle.net/kthy1gtx/1/

$(function() 
    $('#select-state').selectize(
        plugins: ['remove_button'],
        onType: function(val) 
            if (val === "")  /* when the input is cleared, clear all cache highlighting */
                $.each(this.renderCache.option, function(k, v) 
                    v.innerhtml = $(v).text();
                );
            
        
    );
);

仅适用于打字,用鼠标选择和剪切或删除仍然有问题。

【讨论】:

我仍然看到您在上面提供的 jsFiddle 修复问题。 jsfiddle.net/kthy1gtx/1 小提琴为我清除了 Windows 10 PC 上的 Firefox 49.0.1、Chromium 53.0.2785.89、IE11 和 Edge 浏览器的搜索突出显示 用于重现问题的步骤:键入 Mus,按 Enter,按退格键,键入 Ket,按 Enter,按退格键,键入 Re,按 Enter,按退格键,展开下拉列表以查看黄色突出显示跨度> @Mohan:我建议你点击GitHub 上的“新问题”绿色按钮,并给出这个有用的“如何重现”序列以及指向这个实际 SO 问题的链接。 Stack Overflow 并非旨在调试所有现有插件。这是一个问答网站。你有你的答案...-这是一个插件错误-。 @LouysPatriceBessette - 当然会。并且意味着虽然 smcd 建议我尝试使用带有少量自定义脚本的 select2 来满足我的需求。感谢大家的热心投入。

以上是关于selectize.js 预输入字符(黄色)颜色未重置的主要内容,如果未能解决你的问题,请参考以下文章

光标线的颜色在哪里定义?

selectize.js 重新加载下拉菜单

selectize.js 选择下拉显示默认打开

selectize.js 不发送所有选定的选项,但只发送最后一个

如何更改 selectize.js 下拉菜单的占位符?

Symfony2 和 Selectize.js:在实体字段类型中保留新项目的最清晰方法?