【问题标题】:Make plural when quantity is greater than 1数量大于1时变复数
【发布时间】:2019-02-28 20:37:41
【问题描述】:

我已经有了这个代码,但它没有按预期工作。

数量大于1时,“piece”应改为“pieces”。

<span class="counter b">2 <span id="unitpcs"></span></span>

<script type="text/javascript">

var q = document.getElementsByTagName("span");
var a = myFunction(q.innerHTML);
document.getElementById("unitpcs").innerHTML = x;

function myFunction() {
if (a > 1) {
        x = "pieces";
    } else {
        x = "piece";
    }
}
</script>

目前,当数量等于一 (1) 时,结果正确:1 件。

如果数量变成两(2)个,结果不正确:2件 正确的输出应该是“2 件”。

高度赞赏任何解决方案。提前致谢!

【问题讨论】:

  • 请把你的问题说清楚一点stackoverflow.com/help/how-to-ask
  • 例如:当数量为一 (1) 时,输出应为 1 件。那么,如果数量大于 1,例如2 项,3 项,依此类推。
  • 嗨@jaidsis,请使用此评论更新您的问题。还要尝试解释当前的行为是什么以及您的期望。
  • 嗨@toti08,我已经更新了上面的问题。

标签: pluralize


【解决方案1】:
  1. 您忘记将a 指定为myFunction() 的参数。
  2. 您忽略了 q 是一个由两个 span 元素组成的数组。
  3. 您忽略了将.innerHTML 转换为数字。

<span class="counter b">2 <span id="unitpcs"></span></span>

<script type="text/javascript">
var q = document.getElementsByTagName("span");
myFunction(parseFloat(q[0].innerHTML)); // first span, convert to number
document.getElementById("unitpcs").innerHTML = x;

function myFunction(a) {
if (a > 1) {
        x = "items";
    } else {
        x = "item";
    }
}
</script>

【讨论】:

  • 嗨@Armali,一百万感谢您的回答。它解决了问题。
猜你喜欢
  • 1970-01-01
  • 2020-03-28
  • 2017-04-10
  • 2021-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多