尝试从javascript中的组合框中选择,但通常的方式不起作用[关闭]

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

我正在尝试使用此行选择这些选项

document.getElementById("combobox-month").selectedIndex = 5;

但它不知道为什么会这样做?

document.getElementById("combobox-month").selectedIndex = 5;
<div id="content-birthday">
  <div id="combobox-month" class="combobox-wrapper">
    <select name="bday_month">
      <option value="1">January</option>
      <option value="2">February</option>
      <option value="3">March</option>
      <option value="4">April</option>
      <option value="5">May</option>
      <option value="6">June</option>
      <option value="7">July</option>
      <option value="8">August</option>
      <option value="9">September</option>
      <option value="10">October</option>
      <option value="11">November</option>
      <option value="12">December</option>
    </select>
  </div>
</div>
javascript html
5个回答
1
投票

我认为你使用了错误的选择器。

document.querySelector("select").selectedIndex = 5;

如果您想使用类而不是添加以选择类似“select-month”的类。

document.querySelector(".select-month").selectedIndex = 5;

.非常重要。它表示以下字符串是一个类。 #代表id


1
投票

Targeted Element是错误的。你的目标是select的父级,所以在select标签元素中添加一些id。然后通过dom调用

document.getElementById("select").selectedIndex = 5;
<div id="content-birthday">
  <div id="combobox-month" class="combobox-wrapper">
    <select name="bday_month" id="select">
      <option value="1">January</option>
      <option value="2">February</option>
      <option value="3">March</option>
      <option value="4">April</option>
      <option value="5">May</option>
      <option value="6">June</option>
      <option value="7">July</option>
      <option value="8">August</option>
      <option value="9">September</option>
      <option value="10">October</option>
      <option value="11">November</option>
      <option value="12">December</option>
    </select>

1
投票

combobox-month是select元素的父div的id。您应该定位select元素。你可以使用querySelector(),它允许像选择器一样的CSS。

尝试

document.querySelector("select[name=bday_month]").selectedIndex = 5;
<div id="content-birthday">
  <div id="combobox-month" class="combobox-wrapper">
    <select name="bday_month">
      <option value="1">January</option>
      <option value="2">February</option>
      <option value="3">March</option>
      <option value="4">April</option>
      <option value="5">May</option>
      <option value="6">June</option>
      <option value="7">July</option>
      <option value="8">August</option>
      <option value="9">September</option>
      <option value="10">October</option>
      <option value="11">November</option>
      <option value="12">December</option>
    </select>
  </div>
</div>

0
投票

你得到了div元素,而不是那种组合框。

在组合框上放置一个id并在getElementById中使用它。


0
投票

请指定dropdown的id .combobox-month是div的id

document.getElementById("bday_month").selectedIndex = 5;

添加了bday月份作为id。

 <select id="bday_month" name="bday_month">
  <option value="1">January</option>
  <option value="2">February</option>
  <option value="3">March</option>
  <option value="4">April</option>
  <option value="5">May</option>
  <option value="6">June</option>
  <option value="7">July</option>
  <option value="8">August</option>
  <option value="9">September</option>
  <option value="10">October</option>
  <option value="11">November</option>
  <option value="12">December</option>
</select>
© www.soinside.com 2019 - 2024. All rights reserved.