根据库存状态更改产品中按钮颜色的最佳方法是什么?
我已经通过“阅读”innerHTML成功地使用javascript完成了它,如果它是缺货的话,我将按钮背景设为绿色,否则为蓝色......
但如果有5种状态和3种翻译,则会产生一个大而“丑陋”的if子句。
我的问题是商店是多语言的,我想知道我怎么能不用js读取innerHTML但只读取状态值(来自模型或控制器......)?
之前的“虚拟”解决方案是:
$(document).ready(function() {
var stck = $('#stocktxt').html();
if(stck.indexOf("5-") != -1){
$("#button-cart").css("background-color","#f59525");
}
});
答案 0 :(得分:1)
网站是如何生成的?我猜PHP!最好的方法是服务器根据库存状态动态地将样式应用于按钮。除非实时更新库存,否则应用样式客户端是低效的。显然股票数据存在于某个数据库中,您应该从中获取数据,而不是innerHTML。
<?php
//get stock value for your items
$someItemStock = 3;
function stockstyle($stock)
{
if($stock > 5)
{
echo "highStock"
}
else if($stock < 5 && $stock > 2)
{
echo "medStock"
}
else if($stock < 2 && $stock > 0)
{
echo "lowStock"
}
else
{
echo "noStock"
}
}
&GT;
然后在您的HTML项目中:
<button id="whatever this item" class="<?php stockstyle($someItemStock) ?>">