gpt4 book ai didi

javascript - 我可以从自定义匹配器中访问原始 select2 匹配器吗?

转载 作者:行者123 更新时间:2023-11-28 17:46:34 25 4
gpt4 key购买 nike

我正在使用select2 jQuery 插件。下拉列表中的第一个选项标记为“所有组织”。当用户搜索某个选项时,我不想在搜索结果中包含第一个“所有组织”选项。

有没有简单的方法可以做到这一点?

看来策略是使用自定义匹配器,如果我看到该选项则返回 null。但是,然后我需要对匹配器的其余部分进行编码,这基本上会执行与默认行为相同的操作。我可以以某种方式从自定义匹配器中调用原始匹配器吗?

$("select").select2({
matcher: custMatcher
});

function custMatcher(params, data) {
if (params.term === "All Organizations") {
return null;
}

// else do regular searching
// would like to call the original matcher here.
}

jsfiddle

最佳答案

我们开始吧;)

var defaultMatcher = $.fn.select2.defaults.defaults.matcher;
function customMatcher(params, data) {
if (params.term && data.id == "ALL")
return null;
return defaultMatcher(params, data);
}
$("#s").select2({
matcher: customMatcher,
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>

<select id="s">
<option value="ALL">All Organizations</option>
<option value="1">Org 1</option>
</select>

关于javascript - 我可以从自定义匹配器中访问原始 select2 匹配器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46590229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com