检索业务:排序和价格区间及库存

news2024/11/23 7:35:05

 

 

排序

点击某个排序时首先按升序显示,再次点击再变为降序,并且还会显示上升或下降箭头

页面排序跳转的思路是通过点击某个按钮时会向其class属性添加/去除desc,并根据属性值进行url拼接

 

点击排序时

    $(".sort_a").click(function () {
        changeStyle(this);
        let sort = $(this).attr("sort");
        sort = $(this).hasClass("desc") ? sort + "_desc" : sort + "_asc";
        location.href = replaceParamVal(location.href, "sort", sort,false);

        return false;
    });

 当点击的时候,改变样式,并进行请求的拼接,阻止默认的跳转行为

改变样式 

    function changeStyle(ele) {
        // location.href = replaceParamVal(href, "pageNum", pn,flase);
        // color: #333; border-color: #ccc; background: #fff
        // color: #fff; border-color: #e4393c; background: #e4393c
        $(".sort_a").css({"color": "#333", "border-color": "#ccc", "background": "#fff"});
        $(".sort_a").each(function () {
            let text = $(this).text().replace("↓", "").replace("↑", "");
            $(this).text(text);
        })

        $(ele).css({"color": "#FFF", "border-color": "#e4393c", "background": "#e4393c"});
        $(ele).toggleClass("desc");
        //升降序改变
        if ($(ele).hasClass("desc")) {
            //降序
            let text = $(ele).text().replace("↓", "").replace("↑", "");
            text = text + "↓";
            $(ele).text(text);
        } else {
            //升序
            let text = $(ele).text().replace("↓", "").replace("↑", "");
            text = text + "↑";
            $(ele).text(text);
        }
    };

  let text = $(ele).text().replace("↓", "").replace("↑", "");进行替换字符,显示在前端界面

 价格区间

<input id="skuPriceFrom" type="number"
       th:value="${#strings.isEmpty(priceRange)?'':#strings.substringBefore(priceRange,'_')}"
       style="width: 100px; margin-left: 30px">
-
<input id="skuPriceTo" type="number"
       th:value="${#strings.isEmpty(priceRange)?'':#strings.substringAfter(priceRange,'_')}"
       style="width: 100px">
<button id="skuPriceSearchBtn">确定</button>

增加input标签进行传递次数进行拼接 

 点击确认时

    $("#skuPriceSearchBtn").click(function () {
        let from = $(`#skuPriceFrom`).val();
        let to = $(`#skuPriceTo`).val();

        let query = from + "_" + to;
        location.href = replaceParamVal(location.href, "skuPrice", query,false);
    });

 库存存在

<li>
    <a th:with="check = ${param.hasStock}">
        <input id="showHasStock" type="checkbox" th:checked="${#strings.equals(check,'1')?true:false}">
        仅显示有货
    </a>
</li>

点击查询时候

$("#showHasStock").change(function () {
    alert( $(this).prop("checked") );
    if( $(this).prop("checked") ) {
        location.href = replaceParamVal(location.href,"hasStock",1,false);
    } else {
        let re = eval('/(hasStock=)([^&]*)/gi');
        location.href = (location.href+"").replace(re,"");
    }
    return false;
});

 

replaceParamVal函数

    function replaceParamVal(url, paramName, replaceVal,forceAdd) {
        var oUrl = url.toString();
        var nUrl;
        if (oUrl.indexOf(paramName) != -1) {
            if( forceAdd ) {
                if (oUrl.indexOf("?") != -1) {
                    nUrl = oUrl + "&" + paramName + "=" + replaceVal;
                } else {
                    nUrl = oUrl + "?" + paramName + "=" + replaceVal;
                }
            } else {
                var re = eval('/(' + paramName + '=)([^&]*)/gi');
                nUrl = oUrl.replace(re, paramName + '=' + replaceVal);
            }
        } else {
            if (oUrl.indexOf("?") != -1) {
                nUrl = oUrl + "&" + paramName + "=" + replaceVal;
            } else {
                nUrl = oUrl + "?" + paramName + "=" + replaceVal;
            }
        }
        return nUrl;
    };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何恢复回收站被清空的文件?你必须要知道的4种方法

电脑回收站里面有很多我们之前删除的文件&#xff0c;如果想要恢复这些文件&#xff0c;直接还原就可以了。但是回收站里面的数据被清空了怎么办&#xff1f;如何恢复回收站被清空的文件&#xff1f;接下来就给大家分享一些恢复回收站文件被删除的方法&#xff01; 方法一、使用…

AcWing 1068. 环形石子合并(环形区间DP)

AcWing 1068. 环形石子合并&#xff08;环形区间DP&#xff09;一、问题二、思路三、代码一、问题 二、思路 在讲解这道题之前&#xff0c;我们需要先掌握线性的区间DP问题&#xff0c;如果对于线性区间DP的解决方式还不了解的话&#xff0c;建议先看一下这篇文章&#xff1a;…

概论第7章_参数估计_点估计的评价标准_相合性_无偏性_有效性

点估计的评价标准包括&#xff1a; 相合性&#xff0c; 无偏性&#xff0c; 有效性。 一. 相合性 衡量一个估计是否可行的必要条件&#xff0c; 就是估计的相合性。 本文不提其定义了。直接给出一些结论。 结论 设有正态总体N(μ,σ2\mu, \sigma^2μ,σ2) 的样本&#xff0c;…

数据结构资料汇编:栈

数据结构资料汇编&#xff1a;栈 定义 栈&#xff08;stack&#xff09;是限定仅在表尾进行插入或删除操作的线性表。 表尾称为栈顶&#xff08;top&#xff09;&#xff0c;可以进行插入或删除操作 栈的插入操作称为进栈或入栈&#xff08;push&#xff09;栈的删除操作成为出…

Google Play 上的 Shady Reward 应用累积了 2000 万次下载

一种新的活动跟踪应用程序类别最近在 Android 的官方应用程序商店 Google Play 上取得了巨大成功&#xff0c;已在超过 2000 万台设备上下载。 这些应用程序将自己宣传为健康、计步器和养成良好习惯的应用程序&#xff0c;承诺为用户在日常生活中保持活跃、达到距离目标等提供…

字节青训前端笔记 | 跨端技术概述

本节课程内容会分为以下几个方面&#xff1a; 跨端是什么&#xff0c;给大家介绍跨端产生的背景及解决的问题跨端技术方案介绍&#xff0c;给大家介绍目前主流的跨端技术方案&#xff08;hybrid 方案/原生渲染方案/自渲染方案/小程序方案&#xff09;以及对比基于小程序跨端实…

苹果或将打造 “空气键盘”

苹果MR头显玩法大揭秘前言苹果MR头显要来了打造 “空气键盘”眼动追踪与手部追踪一键切换VR/AR模式前言 随着2021年10月FaceBook正式改名Meta后&#xff0c;标志着元宇宙元年的正式到来&#xff0c;元宇宙行业开始出现井喷式的爆发。再到2022年10月&#xff0c;“飞天云动”在…

欧科云链链上卫士:2023年1月安全事件盘点

一、基本信息 2023年1月安全事件共造成约1438万美元损失&#xff0c;相比上个月的安全事件损失金额大幅度下降。其中多链项目LendHub 被攻击&#xff0c;损失高达600万美元&#xff0c;为本月资金损失最大的安全事件。本月RugPull数量基本与上月持平。社媒诈骗等事件依然频发&a…

分布式微服务3

目录 Feign远程调用 基于Feign远程调用 Feign替代RestTemplate 1.引入依赖 2.添加注释 3.编写Feign的客户端 4.测试 5.总结 自定义配置 1.引入依赖 2.配置连接池 3.总结 Gateway网关 Gateway快速入门 1.创建gateway服务&#xff0c;引入依赖 2.编写启动类 3.编写…

【微服务】Nacos集群搭建

Nacos集群搭建1.集群结构图2.搭建集群2.1.初始化数据库2.2.下载nacos2.3.配置Nacos2.4.启动2.5.nginx反向代理2.6.优化1.集群结构图 官方给出的Nacos集群图&#xff1a; 其中包含3个nacos节点&#xff0c;然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。 我们…

实战:进入Linux系统 紧急模式,重置root密码

实战:进入CentOS 7紧急模式,重置root密码 实战场景:公司的一台CentOS 7系统忘记root密码了,需要快速把root密码修改为 qwer,找回root身份。 (1)重启系统,在出现内核选择界面时(在此界面中,如果不按键盘的上下方向键,则在默认时间过去后,自动选择光标所选的内核并…

题库——“计算机基础”

小雅兰为开学考试而奋斗 模块一 计算机基础概述 &#xff08;1&#xff09;信息技术基本知识 &#xff08;2&#xff09;计算机的发展与应用 &#xff08;3&#xff09;计算机的工作原理 &#xff08;4&#xff09;计算机系统的组成 &#xff08;5&#xff09;微型计算机主要硬…

九龙证券|AIGC彻底火了,概念股全线上涨,走势领先者三连板!

一夜之间&#xff0c;AIGC走红A股&#xff0c;谁会成为商场宠儿&#xff1f; A股历来盛行炒作新体裁&#xff0c;尤其是新体裁诞生的初期&#xff0c;资金参与热心高涨&#xff0c;诞生牛股概率更高。诞生不足两月的ChatGPT便是今年以来最抢手体裁之一&#xff0c;由ChatGPT带动…

Bug:浏览器一直访问旧资源

Bug&#xff1a;浏览器一直访问旧资源 1 问题阐述 今天在查看自己部署的项目时候&#xff0c;发现浏览器总是访问旧的资源 2 排查思路 2.1 浏览器缓存问题 清除浏览器缓存 ctrl shift del2.2 tomcat问题 我的项目是部署在tomcat上的&#xff0c;因此我怀疑是tomcat的配置问…

C语言学习-ProtoThread

一、简介随着RTOS的应用&#xff0c;程序在开发的时候&#xff0c;程序逻辑也变得越来越清晰。但是RTOS因为体量比较大&#xff0c;在一些内存比较小的MCU中无法应用。所以&#xff0c;在裸机的开发中&#xff0c;通常是使用一个while(1)来作为整个程序的大循环。当有条件需要执…

Vue路由传递query参数的两种方式

路由是可以传递参数的&#xff0c;一般使用query进行传参&#xff0c;有两种方式&#xff0c;接下来一一展示 案例展示 先编写一个简单的案例 我这里用的一个三级路由 这里使用三级路由以及展示路由视图 这样点击就跳转对应的路径了&#xff0c;接下来进行路由跳转的时候传参…

python之selenium入门教程

selenium&#xff0c;一个第三方库&#xff0c;可以通过给driver发送命令来操作浏览器&#xff0c;以达到模拟人操作浏览器&#xff0c;实现网页自动化、测试等&#xff0c;减少了重复性工作。 selenium的工作的基本架构如下&#xff1a; 安装 本文是在python环境下使用sele…

聚观早报 | 保时捷回应12.4万帕纳梅拉遭抢购;英特尔大规模降薪

今日要闻&#xff1a;保时捷回应12.4万帕纳梅拉遭抢购&#xff1b;特斯拉大力生产4680电池和Semi电动重卡&#xff1b;Spotify 月活用户预计下季度将达5亿里程碑&#xff1b;PayPal将裁员约2000人约占员工总数7%&#xff1b;英特尔大规模降薪 CEO基本薪酬削减25%保时捷回应12.4…

MATLAB应用3——深度视觉 奥比中光Astra S显示RGB和深度信息

首先从官网下载OpenNI驱动并安装&#xff0c;以及添加环境变量。MATLAB代码&#xff1a;% 参考&#xff1a;https://blog.csdn.net/limingmin2020/article/details/109445787%% 首次使用需编译mxNI.cpp文件&#xff0c;生成mxNI.mexw64mex mxNI.cpp -IF:\VS2017\VC\Astra_S\Ope…

Linux 内核代码审查人员短缺问题解决方法

导读操作系统安全是现在最重要的事情&#xff0c;而 Linux 则是一个主要被讨论的部分。首先要解决的问题之一就是&#xff1a;我们如何确定提交到上游的补丁已经进行了代码审核&#xff1f; Wolfram Sang 从 2008 年开始成为一名 Linux 内核开发者&#xff0c;他经常在各地召开…