我知道这已经被问过了,但是我找不到解决问题的方法。
我有一个选择框,其中包含三个选项和三个值,这些值用于使用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;