模拟下拉菜单选择javascript

时间:2018-02-27 03:06:15

标签: javascript html forms html-select

网站上有这个下拉菜单,如下所示:

<form id="birthday-form" action="#" method="get">
  <select class="month">
    <option value="">Month</option>
    <option value="1">January</option>
    <option value="2">February</option>
  </select>
  <select class="day">
    <option value="">Day</option>
    <option value="1">1</option>
    <option value="2">2</option>
  </select>
  <select class="year">
    <option value="">Year</option>
    <option value="2005">2005</option>
    <option value="2004">2004</option>
    <option value="2003">2003</option>
  </select>
</form>

现在我需要模拟这个表单的选择。我使用这个javascript来执行此操作:

 document.getElementsByClassName('month')[0].value = '1'; document.getElementsByClassName('day')[0].value = '1'; document.getElementsByClassName('year')[0].value = '2005';

所以这在输入数据的意义上有效,但是,除非我手动点击它,否则表单不会提交。换句话说,表格显示2005年1月1日被选中,但表现得没有选择。正如您在this 照片中看到的那样,“继续”按钮被禁用(灰显),但是当点击鼠标点击时,例如,二月选项就会启用。

我相信我的问题类似于How to click a dropdown menu and select option?,但是,似乎原始问题从未得到解答,因为没有任何内容得到批准,我找不到的任何代码都无效。所以,我的问题是:如何从这个表单中选择选项并触发启用继续按钮的内容。

感谢您的帮助,如果我的帖子需要编辑,请告诉我。

1 个答案:

答案 0 :(得分:0)

尝试在其中一个选择元素上触发change事件,看看是否启用了&#34;继续&#34;按钮。按照您已经完成的方式设置值。然后,触发change事件并查看按钮是否激活。

以下是有关如何触发事件的一些信息:https://plainjs.com/javascript/events/trigger-an-event-11/