Javascript小书签:如何根据标题返回下拉菜单的值

问题描述 投票:0回答:1

我有一个下拉菜单,可以有可变数量的选项。

{选项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>

javascript bookmarklet
1个回答
0
投票
您无法设置标签,但可以通过下拉菜单,检查标签,找到“选项C”,获取其值并为“选择”框设置其值。

这里是一个示例,我们为第二个下拉菜单设置“选项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>
© www.soinside.com 2019 - 2024. All rights reserved.