javascript - 如何使用不区分大小写的下拉选择

标签 javascript jquery selectize.js

我有一个下拉菜单,其中包含“儿科”等选项。我的页面正在接收作为“儿科”(小写)的查询参数。

当我尝试将下拉列表的选择设置为儿科时,没有任何反应,因为下拉列表没有儿科。

例如:

<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 - 如何使用不区分大小写的下拉选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59851473/

相关文章:

jquery - 选择 Selectize.js 字段后如何关注下一个字段

javascript - 如何使 selectize.js 选择框需要一个值?

r - 突出显示 R Shiny 的 selectInput 项目而不单击它

javascript - 具有不同超时时间的同步回调

javascript - Reactjs 应用程序 - 无法使用 axios 获取数据

javascript - 如何使用来自不同 View 的 JSON 对象更新 Angular js 中的全局 JSON 字段

javascript - 如何在 JQuery 或 Javascript 中创建模糊橡皮擦和模糊绘图效果?

javascript - JQuery .height() 返回 0

javascript - jQuery:是否有理由不总是将 live() 用于点击和其他功能?

javascript - Jquery 使用 noty js 确认删除不起作用