javascript - 如何使用不区分大小写的下拉选择
问题描述
我有一个下拉菜单,其中包含“儿科”之类的选项。我的页面接收查询参数为“儿科”(小写)。
当我尝试将我的下拉列表选择设置为儿科时,什么也没有发生,因为下拉列表没有儿科。
前任:
<div class="option" data-selectable="" data-value="Pediatrics">Pediatrics</div>
我正在尝试使用以下方法选择此选项:
let myParamS = "pediatrics";
$("#specialization").data('selectize').setValue(myParamS);
=> 不起作用,因为我的下拉列表有“P”ediatrics 而不是“p”ediatrics
任何人都知道设置它的最佳方法是什么?
解决方案
您可以通过不区分大小写的比较来遍历选项,并找到要设置的正确选项值。
let myParamS = "pediatrics";
const selectizeInput = $("#specialization").data('selectize');
// returns a dictionary of options with value as a key
const options = selectizeInput.options;
// does case insensitive comparision to find the matching option
const getValue = (options, valueToFind) => Object.keys(options)
.find(key => key.toLowerCase() === valueToFind.toLowerCase());
// set value
selectizeInput.setValue(getValue(options, myParamS));
推荐阅读
- javascript - xterm.js FitAddon:最大宽度和 textarea 换行
- list - 颤动中的Firebase列表
- arrays - 将无界 C 数组作为 type[] 返回
- elixir - 从地图创建路径
- android - ViewModel 如何缓存 LiveData?
- git - 如何获取在 gitlab 中提交的唯一文件
- android - 如何在 MP Chart 库 android 的折线图中设置背景?
- sql-server - sql server中遗留的字符串聚合
- c# - 如何引用用于引用非静态var c# unity的游戏对象
- python - on_reaction_add 没有在 discord.py 中被调用