【发布时间】:2021-09-14 01:54:09
【问题描述】:
我正在创建一个网站,客户可以在其中构建报价。 我使用 Tabulator 在表格中显示数据。 Tabulator 数据位于其自己的 .JS 文件“buildTabulator.js”中,而 Quote 脚本位于另一个 .JS 文件“quote.js”中。
到目前为止,我能够提取数据并让它主要做我想做的事情。
但是,当我尝试在 quote.js 文件中创建一个 IF ELSE 语句来确定应该根据商品的计量单位 (UOM) 显示哪个价格时,它无法正常工作。它始终显示 IF ELSE 语句的 IF 部分中的项目的 EACH 或 EA 价格。
更具体地说,如果用户将一件商品添加到 EACH 出售的报价单中,它应该显示一个价格,但如果他们选择了一个由 CASE 出售的商品,它应该显示一个不同的价格。
请查看下面所附的屏幕截图和代码,并建议您是否可以... 我希望这是像我这样的菜鸟错误地错过的简单事情。
第一个屏幕截图显示了 VSC 中的代码。
第二个屏幕截图显示了浏览器控制台日志中的一个示例。此示例使用由 CASE 出售的商品,应显示商品的商品价格,但显示“-”,因为该商品的 EACH 价格是一个破折号,因为它不是由 each 出售的。 在日志中,它显示 CASE 的 CS 是正确的,但“-”实际上应该是 0.2937,如控制台上方的表格所示。
如果我可以提供更多信息或您可能有任何问题,请告诉我。 提前非常感谢您!
来自“buildTabulator.js”的代码
cellClick: function (e, cell) {
globalThis.itemImage =
"imgsQuote/" + cell.getRow().getData().IMAGE + ".png";
globalThis.itemCode = cell.getRow().getData().CODE;
globalThis.itemDescription = cell.getRow().getData().DESCRIPTION;
globalThis.itemBx = cell.getRow().getData().BX;
globalThis.itemCs = cell.getRow().getData().CS;
globalThis.itemUom = cell.getRow().getData().UOM;
globalThis.itemCost = cell.getRow().getData().COST;
globalThis.itemBox = cell.getRow().getData().BOX;
globalThis.itemHalf = cell.getRow().getData().HALF;
globalThis.itemLess = cell.getRow().getData().LESS;
globalThis.itemCase = cell.getRow().getData().CASE;
globalThis.itemBxWt = cell.getRow().getData().BXWT;
globalThis.itemCsWt = cell.getRow().getData().CSWT;
// globalToLocal();
setItemPrice();
},
来自“quote.js”的代码
function setItemPrice() {
console.log(globalThis.itemUom);
var itemPrice;
if ((globalThis.itemUom = "EA")) {
itemPrice = globalThis.itemBox;
} else {
itemPrice = globalThis.itemCase;
}
console.log(itemPrice);
}
【问题讨论】: