我有这行代码,用我正在使用的CMS输出:
telnet server.doma.in 110
我需要编写一些jQuery(我还在学习)并且我不太确定如何编写我需要它做的公式......
这个数字是根据库存的商品数量生成的,但是我不想显示数字,我只是想让它说“库存”或“缺货”。我知道我需要它做什么 - 我只是不确定如何正确地写它。
如果数字= 0,则将数字更改为“缺货” 如果数字为1或更大,则将数字更改为“有库存”
如果有人能指出我正确的方向,我将不胜感激!
我似乎无法使其中任何一个工作,所以我不确定我的解释是否还不够清楚,或者我只是做错了...
这是一个更详细的问题:
这是代码行:
<li class="productStock">In Stock: 4</li>
{tag_instock}是从CMS(业务催化剂)生成的数字。生成的数字是我想要改变的。因此,一旦CMS生成库存编号,我认为要将该数字更改为文本,具体取决于其是0还是大于零。
不确定这是否有所作为,或者我是否只是对每个人发送的片段做错了。 : - /
答案 0 :(得分:2)
如果我理解了这个问题,从你的html开始,你可以从字符串中检索数量。
通过执行.split(':')
我将In Stock: number
字符串拆分为两个子字符串:In Stock
和number
并将它们作为数组返回(所以我得到一个数组['有货] ','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)
<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;
答案 4 :(得分:0)
这就是我要做的。
<li>
字符拆分为:
来获取当前号码(请注意冒号后面的空格)。li
的内容替换为上述结果
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>