jquery-select2 - 在 select2 建议列表中突出显示键入的字符未显示

标签 jquery-select2 highlighting

我正在尝试从 select2 版本 2 迁移到版本 4。在旧版本中,建议列表中键入字符的突出显示是正确的;但现在它没有发生。这是我用于突出显示的代码:

.select2-result-selectable .select2-match, .select2-result-unselectable     .select2-match
{
text-decoration: none;
font-weight: bold;
}

最佳答案

在版本 4+ 中,您需要处理 templateResult。基本上,您需要获取术语并将结果替换为您自己的模板。

我为您制作了一个示例,用粗体字将结果替换为另一个。但是,您可以根据需要自定义结果(使用颜色等)。 PS:该术语是使用 jquery 获得的,但如果需要,您可以将其替换为 javascript。

Javascript:

$(document).ready(function() {
  $('.selectStates').select2({
    templateResult: formatSingleResult
  });
});

function formatSingleResult(result) {
    var term =$(".selectStates").data("select2").dropdown.$search.val();
    var reg = new RegExp(term, 'gi');
    var optionText = result.text;
    var boldTermText = optionText.replace(reg, function(optionText) {return `<b>${optionText}</b>`});
    var $item = $(`<span> ${boldTermText}  </span>`);
    return $item;
}

HTML:
<select class="selectStates">
    <option value="AK">Alaska</option>
    <option value="HI">Hawaii</option>
    <option value="CA">California</option>
    <option value="NV">Nevada</option>
    <option value="OR">Oregon</option>
    <option value="WA">Washington</option>
    <option value="AZ">Arizona</option>
</select>

这是工作示例:https://codepen.io/cassioseffrin/pen/pLYyVv

关于jquery-select2 - 在 select2 建议列表中突出显示键入的字符未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119016/

相关文章:

javascript - 在 select2 中重新加载数据

javascript - 有标签时最大化表格中的选择宽度

css - 在 knockout validation 错误或成功时添加或删除元素

html - 我可以通过在带有 ancored 对象的单个页面上使用 id ="current"来突出显示事件菜单项吗?

java - 在 Elasticsearch 中将数字字段索引为 int 和 string

javascript - 如何使选定的选项在多个 Select2 中可单击(并可切换)?

jquery - 使用 select2 的可选 optgroup

javascript - 将 Select2 数组输出转换为字符串

Java - 突出显示两个字符之间的文本 - JTextPane

c# - 双击文本区域或文本框时指定突出显示行为?