我知道以前曾经问过这个问题,但我无法找到解决问题的方法。
我有一个包含三个选项和三个值的选择框,这些值用于使用JS执行一些计算,因此我无法更改这些以匹配选项文本。这是为了算出V.A.T的数量。
我的选择如下:
<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 :(得分: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;
答案 1 :(得分:0)
您可以使用html()函数通过JS检索文本。或者,如果您只是使用POST将数据发送到服务器,请尝试将两个值添加到选项的value属性并将其拆分为服务器端以获取正确的数据。