2017-03-19 4 views
0

を選択するよりも、テキスト値を変更します*** EDITいくつかの会計ソフトウエアにデータ入力を行い、詳細を入力して請求書を生成するコードを有する。選択ボックスに問題があります。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> 

。私は明らかに何かが欠けている。

ありがとうございます、これはフォーラムの最初の投稿です。

+0

は、オプションのインナーHTMLに値プロパティを設定することも試してみてください。 – TheValyreanGroup

+2

あなたのHTMLは無効です。 「」タグはありません。それが修正されるまで、私は事をしません。 –

+1

...最終的には、FirefoxやChromeで問題を再現できません。どちらも、設定された '.selectedIndex'の値を送信しています。あなたは完全なデモンストレーションを提供し、使用しているブラウザを教えてください。 –

答えて

0

Chromeに切り替えるだけで、この問題は解決しました。私の代わりにFirefoxの52.0.1(32ビット)とChrome 56.0.2924.87

+0

firefoxのサポートを削除しますか? –

0

変更に値を使用していました:

document.getElementById('invoice_bank_account_id').value = "327151"; 
// (Deposit Account) 
関連する問題