我有一个下拉菜单,可以有可变数量的选项。
{选项A,选项B,选项C,...}
选项并非始终可用,因此最初的值可能分别为{0,1,2,...},但是如果选项A不在下拉菜单中,则选项B的值为0,而选项C的值为1等等。我要创建一个书签,当它被激活时,它将在下拉列表中选择选项C。
所以我本来就是尝试这样的事情
javascript:(function(){document.getElementsByTagName('Select')[1].value = 0;})();
但是值0并不总是等于选项C。
我的下一个计划是使用:
javascript:(function(){document.getElementsByTagName('Select')[1].title = "Option C";})();
虽然它似乎确实在HTML代码中进行了更改,但并未对实际网站进行更改。
现在,我想知道是否有一种方法可以根据标题返回选项的值?仍然是Javascript的新手,但感谢您提供的任何帮助。
编辑1:由于某些原因,我无法显示真实的HTML,但这是它的样子。
<select id="DropDown::Content" name="DropDown" class="x2h" title>
<option value="0" title="Option A">Option A </option>
<option value="1" title="Option B">Option B </option>
<option value="2" title="Option C">Option C </option>
这里是一个示例,我们为第二个下拉菜单设置“选项C”,而不管其值如何。
function selectOptionC () {
const selectOptions = document.getElementsByTagName("Select")[1].options;
for(let i = 0; i < selectOptions.length; i++) {
// we can check label and set value based on that
if (selectOptions[i].label == 'Option C') {
document.getElementsByTagName("Select")[1].value = selectOptions[i].value;
}
}
}
selectOptionC();
<select id="dropdown-a" title="testing title">
<option>titleA</option>
<option>titleB</option>
<option>Option C</option>
</select>
<select id="dropdown-b" title="testing title 2">
<option value='0'>titleC</option>
<option value='1'>titleD</option>
<option value='2'>Option C</option>
<option value='3'>titleD2</option>
</select>
<select id="dropdown-c" title="testing title 3">
<option>titleE</option>
<option>titleF</option>
</select>