动态向选择框添加选项

Lukaaaaaaaay

我正在尝试添加选项以使用JavaScript动态地为大学作业选择元素。

我们正在为健身房创建班级预订系统,以便用户可以预订班级。我想使用下拉框,因此您要选择班级,然后使用下一个下拉框来选择时间,因此必须根据所选的班级进行更改。最后,用户将在最后一个框中选择私人教练,然后根据选择的时隙再次创建该私人教练。

到目前为止,这是我所拥有的(javascript方面):

<script type="text/javascript">
        function getTimes()
        {
            var index=document.getElementById("classes").selectedIndex;
            var x=document.getElementById("schedule");

            if(index==0)
            {
                document.getElementById("schedule").value=" ";
            }
            else if(index==1)
            {
                var option=document.createElement("option");
                option.text="Monday 8:00pm";
                try
                {
                     // for IE earlier than version 8- from w3 schools
                    x.add(option,x.options[null]);
                }
                catch (e)
                {
                    x.add(option,null);
                 }

            } 
                        }

和html:

<div>
 <span class="label">Class:</span>      
 <select class="dropdown" id="classes" name="classes"     onChange="getTimes();">
        <option value="none"> </option>
            <option value="pilates">Pilates</option>
        <option value="crossfit">Cross Fit</option>
  </select>
  </div>

<div>
  <span class="label">Time:</span>
  <select class="dropdown" id="schedule"></select>
</div>

 <div>
  <span class="label">Trainer:</span>
  <select class="dropdown" id="trainer"></select>
  </div>

对于代码来说,它似乎应该可以工作,但是无论出于什么原因,当我选择第一个类时,在这种情况下,“普拉提”中的“时间”下拉框仍为空白。

谁能告诉我我要去哪里错了?

苏珊斯-

错误在函数的第一行

function getTimes();

                   ^------ You have a semi colon here
                           which is not supposed to be there

如果再次引用相同的元素,则最好是缓存选择器。使用Javascript绑定事件,而不是内联绑定。

// Store you selectors so that you can use later
// This will improve your performance
var classDropdown = document.getElementById("classes"),
    scheduleDropdown = document.getElementById("schedule");
// Abbd events using javascript
classDropdown.addEventListener('change', getTimes);

function getTimes() {
      var index = classDropdown.selectedIndex;

      if (index == 0) {
          scheduleDropdown.value = " ";
      } else if(index == 1) {
          var option = document.createElement("option");
          option.text = "Monday 8:00pm";
          try {
              // for IE earlier than version 8- from w3 schools
              scheduleDropdown.add(option, x.options[null]);
          } catch (e) {
              scheduleDropdown.add(option, null);
          }
      }
  }

检查演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动态选择框如何从我的文本框值向选择框动态添加选项

来自分类Dev

如何在动态选择框中添加选项

来自分类Dev

动态向脚本添加选项

来自分类Dev

向HTML选择元素添加选项

来自分类Dev

添加选项以通过JSON选择框

来自分类Dev

使用jQuery动态添加选择框

来自分类Dev

使用Javascript向HTML选择框添加选项时出错

来自分类Dev

动态添加选项

来自分类Dev

如何向PHP / HTML选择/选项添加选项

来自分类Dev

如何向动态添加的新 div 添加选项

来自分类Dev

jQuery添加选项以动态选择7个不同的选择

来自分类Dev

无法使用Javascript向组合框添加选项

来自分类Dev

使用jQuery向选择添加选项-更改顺序

来自分类Dev

使用jQuery向选择添加选项吗?

来自分类Dev

在Java中向多个“选择”对象添加选项

来自分类Dev

jquery,使用$ .each()向选择添加选项

来自分类Dev

Struts2选择标签-动态添加选项

来自分类Dev

selectize.js动态添加选项以进行选择

来自分类Dev

选择不清空时刷新的框,然后添加选项

来自分类Dev

jQuery添加选项以选择具有选定仲裁的框

来自分类Dev

从输入动态添加选项

来自分类Dev

AngularJs选择添加选项

来自分类Dev

添加选项以进行选择-多个选择

来自分类Dev

向video.js添加选项

来自分类Dev

向数组CakePHP添加选项

来自分类Dev

向数组CakePHP添加选项

来自分类Dev

向video.js添加选项

来自分类Dev

Google图表向图表添加选项

来自分类Dev

在Javascript / jQuery中选择(触发更改)选择下拉列表的动态添加选项