我有一个下拉菜单,其中包含“儿科”等选项。我的页面正在接收作为“儿科”(小写)的查询参数。
当我尝试将下拉列表的选择设置为儿科时,没有任何反应,因为下拉列表没有儿科。
例如:
<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/