我知道这已经被问过了,但是我找不到解决问题的方法。

我有一个选择框,其中包含三个选项和三个值,这些值用于使用JS执行某些计算,因此我无法更改这些值以匹配选项文本。这是为了算出增值税

我的选择如下所示:

<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函数,将隐藏的输入添加到针对所选选项的选择框,但这有点小问题,而且看起来不正确。我想从数据库中检索值时在该值旁边显示文本,但是我无法将其与这两个0值区分开。

有人可以提供进一步的解决方案,最好的方法。

非常感谢

最佳答案

您可以使用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;

07-28 02:28
查看更多