0

これが以前に尋ねられたことは知っていますが、問題の解決策が見つかりません。

3 つのオプションと 3 つの値を含む選択ボックスがあります。これらの値は、JS を使用していくつかの計算を実行するために使用されるため、オプション テキストに一致するようにこれらを変更することはできません。これはVATの額を計算するためのものです

私の選択は次のようになります。

<select name="tax" id="tax" class="select">
<option value="20">Standard 20%</option>
<option value="0">Zero 0%</option>
<option value="0">Exempt 0%</option>
</select>

これは問題ありませんが、バックエンドで表示する必要があるため、値ではなくテキストをデータベースに挿入する必要があります。選択されているオプションを対象とする選択ボックスに非表示の入力を追加する JavaScript 関数を試しましたが、少しバグがあり、正しくないように見えました。データベースから取得した値の横にテキストを表示することを考えていましたが、2 つの 0 の金額と区別できません。

誰かがさらなる解決策、これに対する最良のアプローチを提供してください。

どうもありがとう

4

2 に答える 2

2

次のように jQuery を使用して、選択したオプションのテキストを取得できます。

$("#tax option:selected").text();

これを AJAX リクエスト内で簡単に使用して、正しい値をデータベースに送信し、それを変数に割り当てるだけです。

var the_text = $("#tax option:selected").text();

それができない場合は、JS 計算でルックアップを行うだけではどうですか?

<select name="tax" id="tax" class="select">
    <option value="standard">Standard 20%</option>
    <option value="zero">Zero 0%</option>
    <option value="exempt">Exempt 0%</option>
</select>

JS は次のようになります。

var vat_amount = ($('#tax').val() == 'standard') ? 20 : 0;
于 2013-04-05T12:42:29.423 に答える
0

html() 関数を使用して、JS でテキストを取得できます。または、POST を使用してデータをサーバーに送信するだけの場合は、オプションの値属性に両方の値を追加し、サーバー側で分割して正しいデータを取得してみてください。

于 2013-04-05T12:42:26.993 に答える