我可以使用 javascript 中的值以外的任何内容设置选择选项吗
Posted
技术标签:
【中文标题】我可以使用 javascript 中的值以外的任何内容设置选择选项吗【英文标题】:can I set the select option using anything other than value in javascript 【发布时间】:2021-11-12 12:25:35 【问题描述】:我有一个如下的选择列表:
<select multiselect="false" name="some.name" size="1" id="queuePicklist"
onchange="setQueue();" required="true">
<option id="selectOption" hidden="true" disabled="true" selected="true" value=""
style="display: none">Select an option</option>
<option value="1" label="Support">Support</option>
<option value="2" label=" Team Sales">Team Sales</option>
<option value="1" label="Individual Sales">Individual Sales</option>
<option value="1" label="Billing">Billing</option>
<option value="1" label="Other">Other</option>
</select>
我想知道是否有可能在 setQueue() 函数中选择其中一个选项而不使用该值?所以不是document.getElementById("queuePicklist").value = 'Support';
我可以向选项添加数据属性并以这种方式选择选项,这样我就可以保持值不变。注意:如示例中所示,四个选项具有相同的值。
我知道我可以将这些值 (1,2,1,1,1) 放入数据属性并在“值”字段中使用唯一值,这是我的第一种方法,但因为我正在处理一些遗留问题代码,该更改使其他代码的其他部分中断。
【问题讨论】:
【参考方案1】:我不确定您想要什么或如何获得选项,但您可以像这样访问文本。
function setQueue()
var selectEle = document.getElementById("queuePicklist");
// .options returns an htmlOptionsCollection object.
// use the selectedIndex property to get the selected option, then
// you can access the text or value.
console.log(selectEle.options[selectEle.selectedIndex].text);
<select multiselect="false" name="some.name" size="1" id="queuePicklist" onchange="setQueue();" required="true">
<option id="selectOption" hidden="true" disabled="true" selected="true" value="" style="display: none">Select an option</option>
<option value="1" label="Support">Support</option>
<option value="2" label=" Team Sales">Team Sales</option>
<option value="1" label="Individual Sales">Individual Sales</option>
<option value="1" label="Billing">Billing</option>
<option value="1" label="Other">Other</option>
</select>
【讨论】:
以上是关于我可以使用 javascript 中的值以外的任何内容设置选择选项吗的主要内容,如果未能解决你的问题,请参考以下文章
如何打印除一个以外的对象,而不删除任何内容(JavaScript)[重复]
Discord - 管理员以外的任何人都可以看到机器人内部的代码吗? [关闭]
深入理解JavaScript中的值(arraystringnumber...)