***编辑 - 开关从Firefox 52.0.1(32位)到Chrome解决了这个问题**的JavaScript .selectedIndex只改变文本值而不是实际选择选项
我试图加快一些在某些会计软件中输入数据,并有代码将详细信息输入到表单中以生成发票。问题在于选择框。
document.getElementById('invoice_bank_account_id').selectedIndex = 2;
哪一个正确设置下拉菜单的选项,我需要什么。
然而,这只是改变了文本,当我提交按钮点击所讨论的形式,它的行为就好像我从来没有改变所选择的选项,默认为在下拉列表中的第一个选项。我必须物理选择并点击才能正确更新。
我需要做什么选择我的选择为它的表单提交工作岗位呢?
我也尝试过多种组合,如
document.getElementById('invoice_bank_account_id').options[2].selected = true;
...同样的结果。
形式的代码是:
<fieldset id="advanced_options_fieldset" class="blockf">
<div id="advanced_options">
<p><label for="invoice_bank_account_id">Bank account</label><select id="invoice_bank_account_id" name="invoice[bank_account_id]">
<option selected="selected" value="385057" data-currency="GBP">Customer Deposits</option>
<option value="164288" data-currency="GBP">Business Current Account</option>
<option value="327151" data-currency="GBP">Deposit Account</option>
</p>
</div>
</fieldset>
我也通过引用选项的值,以及可靠的,但没有奏效。我明显错过了一些东西。提前
谢谢,这是我在论坛上的第一篇文章。
也尝试将值属性设置为选项的内部HTML。 – TheValyreanGroup
您的HTML无效。没有''标签。在纠正之前,我不会做任何事情。 –
...最终,我无法在Firefox或Chrome中重现该问题。两者都发送已设置的'.selectedIndex'的值。您将需要提供完整的演示,并告诉我们您使用的浏览器。 –