javascript - JS 条件语句
问题描述
/**
* AxonCreator - Website Builder
*
* NOTICE OF LICENSE
*
* @author axonvip.com <support@axonvip.com>
* @copyright 2021 axonvip.com
* @license You can not resell or redistribute this software.
*
* https://www.gnu.org/licenses/gpl-3.0.html
*/
var AxpsSearchModule;
!(function (d) {
"use strict";
AxpsSearchModule = {
init: function () {
this.mdCategoryDropdown(), this.mdSearch();
},
mdSearch: function () {
d("body").on("shown.bs.modal", "#search-popup", function () {
var e,
a,
i = d("#search-popup").find("input[name=s]").val();
d("#search-popup").find("input[name=s]").val("").focus().val(i),
d(window).width() < 768 ||
((a = (e = d("#search-popup").find(".category-dropdown-inner")).innerWidth() + e.closest("form").find(".search-submit").innerWidth() + 17),
(i = "padding-right"),
d("body").hasClass("rtl") && (i = "padding-left"),
e.closest("form").find("input[name=s]").css(i, a));
});
function a() {
d("form.has-ajax-search").each(function () {
var a,
e,
i,
n,
r,
s,
t,
o,
c = d(this);
c.hasClass("fs-initialized") ||
(c.addClass("fs-initialized"),
(a = '<div class="view-all-results view-all-products"><span>' + opSearch.all_results_product + "</span></div>"),
(e = c.attr("action")),
(i = parseInt(opSearch.count)),
(n = c.find('[name="c"]')),
(r = "cart_default"),
(s = c.closest(".search-wrapper").find(".search-results")),
c.removeClass("has-ajax-search"),
void 0 !== opSearch.imageType && "" != opSearch.imageType && (r = opSearch.imageType),
0 != opSearch.search_string && c.find("input[name=s]").val(opSearch.search_string),
c.find("input[name=s]").click(function () {
3 <= c.find("input[name=s]").val().length && "" !== s.find(".autocomplete-suggestions").html() && s.find(".autocomplete-suggestions").css({ display: "flex" });
}),
s.on("click", ".view-all-products", function () {
c.submit();
}),
c.find("input[name=s]").devbridgeAutocomplete({
serviceUrl: e,
appendTo: s,
type: "POST",
dataType: "json",
paramName: "s",
minChars: 3,
params: { c: n.val(), resultsPerPage: i },
onSelect: function (e) {
void 0 !== e.permalink && 0 < e.permalink.length && (d("body").hasClass("product-id-" + e.id) ? location.reload() : (window.location.href = e.permalink));
},
onSearchStart: function (e) {
c.addClass("search-loading");
},
beforeRender: function (e) {
d(e).find(".search-divider-text").parent().addClass("search-divider"), d(e).find(".no-result").parent().addClass("search-no-result"), d(e).find(".view-all-products").parent().replaceWith(a);
},
onSearchComplete: function (e, a) {
c.removeClass("search-loading");
},
transformResult: function (e) {
var s = [];
return (
s.push({ value: "", divider: opSearch.divider }),
0 < e.products.length
? (e.products.forEach(function (e) {
var a = (e.has_discount ? '<span class="regular-price">' + e.regular_price + "</span> " : "") + '<span class="price">' + e.price + "</span>",
i = "";
e.cover && void 0 !== e.cover.bySize[r].url && (i = e.cover.bySize[r].url);
var n = opSearch.sku + " " + (e.reference || "N/A");
s.push({ value: e.name, permalink: e.url, price: a, thumbnail: '<img class="img-responsive" src="' + i + '" alt="" title="">', sku: n });
}),
s.push({ value: "", view_all_products: !0, permalink: "" }))
: s.push({ value: opSearch.noProducts, no_found: !0, permalink: "" }),
{ suggestions: s }
);
},
formatResult: function (e, a) {
var i = "(" + (a = "&" === a ? "&" : a).replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") + ")",
a = "";
return (
e.divider && (a += ' <h5 class="search-divider-text">' + e.divider + "</h5>"),
e.thumbnail && (a += ' <div class="search-thumb">' + e.thumbnail + "</div>"),
e.value && (a += '<h4 class="search-title">' + e.value.replace(new RegExp(i, "gi"), "<strong>$1</strong>").replace(/<(\/?strong)>/g, "<$1>") + "</h4>"),
e.no_found && (a = '<div class="no-result">' + e.value + "</div>"),
e.view_all_products && (a = '<div class="view-all-products"></div>'),
e.sku && (a += ' <div class="search-sku">' + e.sku + "</div>"),
e.price && (a += ' <div class="search-price">' + e.price + "</div>"),
a
);
},
}),
n.length &&
((t = c.find("input[name=s]").devbridgeAutocomplete()),
(o = e),
n.on("cat_selected", function () {
t.setOptions({ serviceUrl: o, params: { c: n.val(), resultsPerPage: i } }), t.hide(), t.onValueChange();
})),
d("body").on("click", function (e) {
e = e.target;
d(e).is(".search-wrapper") || d(e).parents().is(".search-wrapper") || c.find("input[name=s]").devbridgeAutocomplete("hide");
}),
d(".search-results").on("click", function (e) {
e.stopPropagation();
}));
});
}
a(),
prestashop.on("updatedProductList", function (e) {
a();
});
},
mdCategoryDropdown: function () {
d(".category-dropdown-inner").each(function () {
var i,
n,
s,
r = d(this);
function t() {
r.removeClass("shown");
}
function o() {
var e, a;
d(window).width() < 768 ||
((e = r.innerWidth() + r.closest("form").find(".search-submit").innerWidth() + 17), (a = "padding-right"), d("body").hasClass("rtl") && (a = "padding-left"), r.closest("form").find("input[name=s]").css(a, e));
}
r.hasClass("cd-initialized") ||
(r.addClass("cd-initialized"),
(i = r.find("> a")),
(n = r.find("> input")),
(s = r.find("> .list-wrapper")),
opSearch.current_category_id &&
(s.find(".active-item").removeClass("active-item"),
s
.find("a[data-value=" + opSearch.current_category_id + "]")
.parent()
.addClass("active-item"),
i.text(s.find("a[data-value=" + opSearch.current_category_id + "]").text()),
n.val(opSearch.current_category_id),
s.find("ul:not(.children) > li:first-child").show()),
o(),
d("body").on("click", function (e) {
e = e.target;
if (r.hasClass("shown") && !d(e).is(".category-dropdown-inner") && !d(e).parents().is(".category-dropdown-inner")) return t(), !1;
}),
i.on("click", function (e) {
return e.preventDefault(), r.hasClass("shown") ? t() : (r.addClass("shown"), void 0 !== d.fn.devbridgeAutocomplete && r.closest("form").find("input[name=s]").devbridgeAutocomplete("hide")), !1;
}),
s.on("click", "a", function (e) {
e.preventDefault();
var a = d(this).data("value"),
e = d(this).text();
s.find(".active-item").removeClass("active-item"),
d(this).parent().addClass("active-item"),
0 !== a ? s.find("ul:not(.children) > li:first-child").show() : 0 === a && s.find("ul:not(.children) > li:first-child").hide(),
i.text(e),
n.val(a).trigger("cat_selected"),
t(),
o();
}));
});
},
};
})(jQuery),
jQuery(document).ready(function () {
AxpsSearchModule.init();
});
在下面的代码中,e.price 是产品的价格,我想知道如何在其中放置 If 条件语句,以便不显示价格为 0 的价格(无价格),如果金额大于 0然后它将被显示。我试过 if(e.price == 0) 但我不知道应该如何写以及应该写在哪一行。
formatResult: function(e, a) {
var i = "(" + (a = "&" === a ? "&" : a).replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") + ")",
a = "";
return (
e.divider && (a += ' <h5 class="search-divider-text">' + e.divider + "</h5>"),
e.thumbnail && (a += ' <div class="search-thumb">' + e.thumbnail + "</div>"),
e.value && (a += '<h4 class="search-title">' + e.value.replace(new RegExp(i, "gi"), "<strong>$1</strong>").replace(/<(\/?strong)>/g, "<$1>") + "</h4>"),
e.no_found && (a = '<div class="no-result">' + e.value + "</div>"),
e.view_all_products && (a = '<div class="view-all-products"></div>'),
e.sku && (a += ' <div class="search-sku">' + e.sku + "</div>"),
e.price && (a += ' <div class="search-price">' + e.price + "</div>"),
a
);
},
解决方案
您可以使用具有简写条件的模板文字,如下所示 -
<div class="search-price"> ${e.price === 0 ? '' : e.price} </div>
推荐阅读
- php - 如何在登录控制器中使用 Crypt 加密登录
- git - 在一个分支中编码并拆分为多个分支?
- arrays - Alexa Skill:如何循环播放一系列声音文件
- ios - ARKit 2 死机:错误还是我的不幸?
- javascript - 排序数据表
- python - 嗨,我每次收到“找不到进程“XXX.exe”错误时如何运行命令?
- node.js - 使用基本身份验证在nodejs中发布请求
- node.js - 值嵌套在数组中时如何区分(计数)值?
- react-native - React-Native:即使在真实设备上,键盘也会运行缓慢
- javascript - 函数表达式与函数声明:返回值