javascript - 根据文本选择一个选择选项

标签 javascript dom

如果可能的话,我需要在“现代 DOM”中使用它。

这是代码。

<select name="skuAndSize" id="skuAndSize" class="ncss-btn fs16-sm ncss-base pb3-sm prl5-sm pt3-sm css-1rsed2n">
  <option value="" disabled="">Select Size</option>
  <option value="22348626:7" disabled="">US 7</option>
  <option value="22348625:7.5" disabled="">US 7.5</option>
  <option value="22348624:8" disabled="">US 8</option>
  <option value="22348621:8.5" disabled="">US 8.5</option>
  <option value="22348619:9" disabled="">US 9</option>
  <option value="22348623:9.5">US 9.5</option>
  <option value="22348618:10">US 10</option>
  <option value="22348622:10.5">US 10.5</option>
  <option value="22348635:11">US 11</option>
  <option value="22348634:11.5" disabled="">US 11.5</option>
  <option value="22348633:12">US 12</option>
  <option value="22348632:12.5" disabled="">US 12.5</option>
  <option value="22348631:13">US 13</option>
  <option value="22348630:14" disabled="">US 14</option>
  <option value="22348629:15" disabled="">US 15</option>
</select>

我已经尝试了以下方法,但我需要它作为文本,但这不起作用。

var val = 'US 10.5';    
document.querySelector('#skuAndSize [value="' + val + '"]').selected = true;

请帮忙,我在现代 dom 中需要这个,因为我在 Swift 中使用它(evaluateJavaScript)。

最佳答案

您可以使用 javascript 设置 selectedIndex

const val = 'US 10.5';
const skuAndSize = document.getElementById ('skuAndSize');
skuAndSize.selectedIndex = [...skuAndSize.options].findIndex (option => option.text === val);
<select name="skuAndSize" id="skuAndSize" class="ncss-btn fs16-sm ncss-base pb3-sm prl5-sm pt3-sm css-1rsed2n">
  <option value="" disabled="">Select Size</option>
  <option value="22348626:7" disabled="">US 7</option>
  <option value="22348625:7.5" disabled="">US 7.5</option>
  <option value="22348624:8" disabled="">US 8</option>
  <option value="22348621:8.5" disabled="">US 8.5</option>
  <option value="22348619:9" disabled="">US 9</option>
  <option value="22348623:9.5">US 9.5</option>
  <option value="22348618:10">US 10</option>
  <option value="22348622:10.5">US 10.5</option>
  <option value="22348635:11">US 11</option>
  <option value="22348634:11.5" disabled="">US 11.5</option>
  <option value="22348633:12">US 12</option>
  <option value="22348632:12.5" disabled="">US 12.5</option>
  <option value="22348631:13">US 13</option>
  <option value="22348630:14" disabled="">US 14</option>
  <option value="22348629:15" disabled="">US 15</option>
</select>

关于javascript - 根据文本选择一个选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55251577/

相关文章:

javascript - 何时使用 querySelectorAll

javascript - onmouseover 不起作用

javascript - Ember 数据 : Get a Model in the Console

javascript - Angular View {{ var }} 更新,但 $scope.var 没有改变?

javascript - 仅当在 block 外单击时关闭悬停 div

javascript - 内容未使用 javascript 加载到 div 中

javascript - 按钮触发 2 个脚本而不是 1 个

javascript - 如何在固定的 div 中显示图像以制作可滚动的图像面板?

javascript - 如何将 excel-vba 重写为 acrobat javascript?

javascript - 来自 url 的 Angularjs json 不起作用,但在本地工作