Javascript selectedIndex只更改文本值,而不是实际选择选项

Javascript selectedIndex只更改文本值,而不是实际选择选项,javascript,forms,Javascript,Forms,***编辑-从Firefox 52.0.1(32位)切换到Chrome解决了这个问题** 我正在尝试在一些会计软件中加速一些数据输入,并使用代码将详细信息输入表单以生成发票。问题在于选择框 document.getElementById('invoice_bank_account_id').selectedIndex = 2; 它正确地将下拉菜单选项设置为我需要的 但是,这只会更改文本,当我单击相关表单的“提交”按钮时,它的行为就好像我从未更改过所选选项,默认为下拉列表中的第一个选项。我必须进

***编辑-从Firefox 52.0.1(32位)切换到Chrome解决了这个问题**

我正在尝试在一些会计软件中加速一些数据输入,并使用代码将详细信息输入表单以生成发票。问题在于选择框

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>

银行账户
客户存款
企业往来账户
定期存款账户

我也尝试过引用期权的价值,但没有成功。我显然错过了什么


提前感谢,这是我在论坛上的第一篇帖子。

只需切换到Chrome,问题就迎刃而解了。我使用的是Firefox 52.0.1(32位)和Chrome 56.0.2924.87,改为更改值:

document.getElementById('invoice_bank_account_id').value = "327151"; 
// (Deposit Account)

请尝试将value属性设置为选项的内部HTML。您的HTML无效。没有
标记。在修正之前,我不会做任何事情……最终,我无法在Firefox或Chrome中重现这个问题。两者都在发送设置的
。selectedIndex
的值。您需要提供完整的演示,并告诉我们您使用的浏览器。正如Skint所说,a的结束标记不是可选的,因此浏览器会更正标记错误,因此可能会在添加(或不添加)选项之前关闭选择。感谢您的回复。你是对的,我没有在这里包括标签,虽然它是在原始的HTML中,我试图减少代码,并意外地删除了它。我已经在Chrome上试用过了,它确实有效,我使用的是Firefox 52.0.1(32位)-我想在发布问题之前应该在另一个浏览器中进行检查。你放弃了对Firefox的支持吗?