jQuery - 将数字更改为单词

时间:2016-11-17 08:54:28

标签: jquery html

我有这行代码,用我正在使用的CMS输出:

telnet server.doma.in 110

我需要编写一些jQuery(我还在学习)并且我不太确定如何编写我需要它做的公式......

这个数字是根据库存的商品数量生成的,但是我不想显示数字,我只是想让它说“库存”或“缺货”。我知道我需要它做什么 - 我只是不确定如何正确地写它。

如果数字= 0,则将数字更改为“缺货” 如果数字为1或更大,则将数字更改为“有库存”

如果有人能指出我正确的方向,我将不胜感激!

修改

我似乎无法使其中任何一个工作,所以我不确定我的解释是否还不够清楚,或者我只是做错了...

这是一个更详细的问题:

这是代码行:

<li class="productStock">In Stock: 4</li>

{tag_instock}是从CMS(业务催化剂)生成的数字。生成的数字是我想要改变的。因此,一旦CMS生成库存编号,我认为要将该数字更改为文本,具体取决于其是0还是大于零。

不确定这是否有所作为,或者我是否只是对每个人发送的片段做错了。 : - /

5 个答案:

答案 0 :(得分:2)

如果我理解了这个问题,从你的html开始,你可以从字符串中检索数量。

通过执行.split(':')我将In Stock: number字符串拆分为两个子字符串:In Stocknumber并将它们作为数组返回(所以我得到一个数组['有货] ','number']存储为html)。

然后我将数字解析为整数,通过数组的第二项(html[1])访问它。

如果该值为> 0,则新的html将为“有库存”,否则为“缺货”。

此代码也适用于多个li class="productStock",如果有,

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="productStock">In Stock: 0</li>

<li class="productStock">In Stock: 4</li>

<script>
  $(".productStock").each(function() {
    let html = $(this).html(),
      items = parseInt(html.split(':')[1]);

    $(this).html(items > 0 ? 'In Stock' : 'Out of Stock');
  });
</script>

答案 1 :(得分:1)

D:\vendor.bundle.js

答案 2 :(得分:0)

我认为这样做的逻辑方法是从空间分割字符串

    var numberArray=$('#productStock').text().split(' ');
    var StockCount=numberArray[numberArray.length-1]
    if(StockCount>0)
     {
         $('#productStock').html("Stock Qty : "+StockCount);

     }

答案 3 :(得分:0)

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="productStock">In Stock: <span class="number">1</span></li>
<script>
    var number = $(".number").text();
    
    if(number == "0"){
        $(".number").text('Out of stock')
    } else {
        $(".number").text('In stock')
    }
</script>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

这就是我要做的。

  1. 通过将<li>字符拆分为:来获取当前号码(请注意冒号后面的空格)。
  2. 决定是否有库存(金额为0或更多)
  3. li的内容替换为上述结果
  4. var productStockElement = $('.productStock');
    
    function replaceStockNumberWithMessage() {
      var innerText = productStockElement.text();
    
      // Using 'Number()' will convert your string to a number.
      var amountInStock = Number(innerText.split(": ")[1]);
    
      /* The number 0 counts as false, 
         so we can use this ternary operator 
         (basically a shorter if/else) */
    
      return amountInStock ? 'In Stock' : 'Out of Stock';
    }
    
    productStockElement.text(replaceStockNumberWithMessage());
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <li class="productStock">In Stock: 4</li>