2

长话短说,我正在设置一个 simplecart(JS),并且对于多个选项,我正在使用复选框。计算购物车中的不同选项一切正常,除了我需要在#tax div 中打印文本“VAT 21% €90”或“世界(免税)”(取决于已检查的内容)。我怎样才能做到这一点?

 <script type="text/javascript">
simpleCart.tax = function(){
    if( $("#regionSelect").val() == "VAT 21% €90" ){return 90;}
    if( $("#regionSelect").val() == "World (Taxfree)" ){return 0;}
};
</script>


  <input type="checkbox" name="tax" id="regionSelect" class="item_tax" value="eu" onClick="">Eu VAT 21%
  <input type="checkbox" name="tax" id="regionSelect" class="item_tax" value="world"onClick="">World (Tax Free)   
  </dd>


<div id="tax"></div

更新

我到底在哪里添加这个?

这仅适用于后者。

    if( $("#regionSelect").val() == "eu" ){return 90;} $("#tax").html("VAT 21% €90")
    if( $("#regionSelect").val() == "world" ){return 0;} $("#tax").html("World (Taxfree)")
4

3 回答 3

3

$("#regionSelect").val()永远不会等于VAT 21% ?90orWorld (Taxfree)因为您将inputhtml 中元素的值设置为euand world。输入复选框后的不是值,只是一些jquery不会读取的随机文本。因此,应分别改为$("#regionSelect").val() == "eu"$("#regionSelect").val() == "world"

此外,ids 应该是唯一的,而不是重复的。这就是classes 的用途。如上所述,jQueryhtml()text()函数是将文本打印到元素的方法。

尝试这个:

<script type="text/javascript">
simpleCart.tax = function(){
    if( $(".regionSelect").val() == "eu" ){return 90; $("#tax").html("EU VAT 21%");}
    if( $(".regionSelect").val() == "world" ){return 0; $("#tax").html("World (Taxfree)");}
};
</script>


<input type="checkbox" name="tax" class="item_tax regionSelect" value="eu" onClick="">Eu VAT 21%
<input type="checkbox" name="tax" class="item_tax regionSelect" value="world"onClick="">World (Tax Free)   
</dd>


<div id="tax"></div>

而且,你有一个结束dd元素?我假设你也有一个开放的。否则,这也可能产生问题。

于 2013-09-19T15:41:55.883 回答
1

使用html函数,如下所示。

$("#divid").html("World (Taxfree)")
于 2013-09-19T15:25:04.290 回答
0

首先获取要添加文本的 div。然后用jquery的.text()函数添加它。

$("#divtoget").text("text to set")
于 2013-09-19T15:26:27.473 回答