0

我知道以前有人问过这个问题,但是我找不到解决问题的方法。

我有一个包含三个选项和三个值的选择框,这些值用于使用 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 金额。

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

非常感谢

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 将数据发送到服务器,请尝试将这两个值添加到选项的 value 属性中,然后将其拆分为服务器端以获取正确的数据。

于 2013-04-05T12:42:26.993 回答