Layui 2.9.2 列表商品展示页 用模板引擎 laytpl Ajax 读取json 数据 筛选数组 filter css 限制文体显示过长用。。。代替

全代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>软件管理器</title><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="./layui/css/layui.css" media="all"><link rel="stylesheet" href="./css/admin.css" /><link rel="stylesheet" href="./css/template.css" /><style>.limit-text {  /* 限制文件显示长度 */width: 150px; /* 显示150px文本其余用... */white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}</style></head><body><div class="layui-fluid layadmin-maillist-fluid"><div id="cont" class="layui-row layui-col-space15"><script id="demo" type="text/html">{{# layui.each(d.list, function(index, item){ }}<div class="layui-col-md4 layui-col-sm6"><div class="layadmin-contact-box"><div class="layui-col-md4 layui-col-sm6"><a href="javascript:;"><div class="layadmin-text-center"><img src="{{= item.mpic}}"><div class="layadmin-maillist-img layadmin-font-blod">{{= item.softname}}</div></div></a></div><div class="layui-col-md8 layadmin-padding-left20 layui-col-sm6"><h3 class="layadmin-title" style="color:#16b777"><span class="layui-badge layui-bg-blue">{{= item.lb}}</span><br><i class="layui-icon layui-icon-util"></i><strong>{{= item.softname}}</strong></h3><p class="layadmin-textimg limit-text"><i class="layui-icon layui-icon-download-circle"></i><a href="{{= item.down}}">{{= item.downname}}</a></p><div class="layadmin-address limit-text"><strong style="color:#ffb800">版本: </strong>{{= item.ver}}<br><strong>网盘: </strong></strong><a href="{{= item.href}}" target="_blank">{{= item.wbcc}}</a><br><strong>密码: </strong>{{= item.wbccmm}}<br><strong style="color:#1e9fff">官网: </strong><a href="{{= item.href}}" target="_blank">{{= item.href}}</a></div></div></div></div>{{# }); }}{{# if(d.list.length === 0){ }}无数据{{# } }}</script></div></div><script src="./layui/layui.js"></script><script>var laytpl = layui.laytpl;var $ = layui.jquery;$.ajax({type:"get",url:"./softall.json",data:{},dataType:"json",success:function(data){// console.log(data);var da = data.list;// console.log(da);let hm = da.filter(function(item){return item.lb == "电脑维护";});// console.log(hm);data.list = hm;// console.log(data);var getTpl = demo.innerHTML,view = document.getElementById('cont');laytpl(getTpl).render(data, function(html) {view.innerHTML = html;});}});</script></body>
</html>

softall.json

{"code": 0,"msg": "","count": 1000,"title": "软件管理器","list": [{"id": 8001,"softname": "DiskGenius","href": "https://get.adobe.com/cn/reader/","down": "../../software/电脑维护/DiskGenius.zip","downname": "DiskGenius.zip","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "./img/diskgenius.png","cpic": "参数图片","sm": "说明","lb": "电脑维护"}, {"id": 8002,"softname": "Ghost","href": "https://get.adobe.com/cn/reader/","down": "../../software/电脑维护/DiskGenius.zip","downname": "ghost.exe","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "./img/ghost.png","cpic": "参数图片","sm": "说明","lb": "电脑维护"}, {"id": 8003,"softname": "Ghost","href": "https://get.adobe.com/cn/reader/","down": "../../software/电脑维护/DiskGenius.zip","downname": "ghost.exe","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "./img/ghost.png","cpic": "参数图片","sm": "说明","lb": "电脑维护"}, {"id": 8004,"softname": "Ghost","href": "https://get.adobe.com/cn/reader/","down": "../../software/电脑维护/DiskGenius.zip","downname": "ghost.exe","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "../../software/img/ghost.png","cpic": "参数图片","sm": "说明","lb": "电脑维护"}, {"id": 8005,"softname": "Ghost","href": "https://get.adobe.com/cn/reader/","down": "../../software/电脑维护/DiskGenius.zip","downname": "ghost.exe","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "../../software/img/ghost.png","cpic": "参数图片","sm": "说明","lb": "电脑维护"}, {"id": 8006,"softname": "Ghost","href": "https://get.adobe.com/cn/reader/","down": "../../software/电脑维护/DiskGenius.zip","downname": "ghost.exe","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "../../software/img/ghost.png","cpic": "参数图片","sm": "说明","lb": "电脑维护"}, {"id": 8013,"softname": "软件名称","href": "连接","down": "下载","downname": "DiskGenius.zip","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "主图片","cpic": "参数图片","sm": "说明","lb": "类别"}, {"id": 8014,"softname": "软件名称","href": "https://get.adobe.com/cn/reader/","down": "下载","downname": "DiskGenius.zip","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "../../software/img/character.jpg","cpic": "参数图片","sm": "说明","lb": "系统辅助"}, {"id": 8015,"softname": "软件名称","href": "https://get.adobe.com/cn/reader/","down": "下载","downname": "DiskGenius.zip","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "../../software/img/character.jpg","cpic": "参数图片","sm": "说明","lb": "办公软件"}, {"id": 8016,"softname": "软件名称","href": "https://get.adobe.com/cn/reader/","down": "下载","downname": "DiskGenius.zip","ver": "版本","wbcc": "外部库存","wbccmm": "外部库存密码","mpic": "../../software/img/character.jpg","cpic": "参数图片","sm": "说明","lb": "办公软件"}]
}

模板引擎 laytpl

<div id="cont" class="layui-row layui-col-space15"></d><script id="demo" type="text/html"> // 模板{{# layui.each(d.list, function(index, item){ }}<strong>{{= item.modname}}</strong>
<strong>{{= item.alias}}</strong>
<strong>{{= item.site}}</strong>{{# }); }}{{# if(d.list.length === 0){ }}无数据{{# } }}</script><script>
var laytpl = layui.laytpl;
var data = {"title": "Layui 常用模块","list": [{"modname": "弹层","alias": "layer","site": "layer.domain.com"},{"modname": "表单","alias": "form"},{"modname": "表格","alias": "table"},{"modname": "日期","alias": "laydate"},{"modname": "上传","alias": "upload"}]
};var getTpl = demo.innerHTML,view = document.getElementById('cont');laytpl(getTpl).render(data, function(html) {view.innerHTML = html;});
<script>

Ajax 读取json 数据

var $ = layui.jquery; // layui 内含jquery$.ajax({type:"get", // post 还get 传url:"./softall.json",data:{},dataType:"json", // 数据类型success:function(data){ // 成功返回函数console.log(data);});}});

筛选数组 filter

var da = data.list;
// 提取json 数据数组出
let hm = da.filter(function(item){return item.lb == "电脑维护";
});
//筛选 lb = 电脑维护 的数组
data.list = hm;
// 再将数据放入json 数据里 完成筛选

css 限制文体显示过长用。。。代替

           <style>.limit-text {  /* 限制文件显示长度 */width: 150px; /* 显示150px文本其余用... */white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}</style><p class="layadmin-textimg limit-text">limit-text

模板引擎json数据 转入 表格组件json 使用

{"title": "Layui 常用模块","list": [{"modname": "弹层","alias": "layer","site": "layer.domain.com"},{"modname": "表单","alias": "form"}]
}转成 表单的就这样{"code": 0,  // 加入"msg": "",  // 加入"count": 1000, // 加入"title": "Layui 常用模块","list": [                      // "data" 无法加入,到时在 表格js 加 parseData 处理{"modname": "弹层","alias": "layer","site": "layer.domain.com"},{"modname": "表单","alias": "form"}]
}

js代码处理:

table.render({elem: '#LAY-index-topSearch',url: '../../software/softall.json' //模拟接口,parseData: function(res){ return {"code": 0, // 解析接口状态"msg": "", // 解析提示文本"count": 15, // 解析数据长度"data": res.list // 解析数据列表};},page: true

用json数据时 table组件分页失败的处理方法 

// table里加入这些代码,parseData: function(res) { // 将数据解析成 table 组件所规定的数据,res为从url中get到的数据var result;console.log(this);console.log(JSON.stringify(res));if (this.page.curr) {result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);} else {result = res.data.slice(0, this.limit);}return {"code": 0, //解析接口状态"msg": res.msg, //解析提示文本"count": res.count, //解析数据长度"data": result //解析数据列表};}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2023CANN训练营第二季】——Ascend C算子开发(进阶)微认证

1.微认证题目&#xff1a; 参考tensorflow的Sinh算子&#xff0c;实现Ascend C算子Sinh,算子命名为SinhCustom&#xff0c;并完成aclnn算子调用相关算法: sinh(x) (exp(x) - exp(-x)) / 2.0 要求: 1、完成host侧和kernel侧代码实现。 2、实现sinh功能&#xff0c;支持float16…

使用 ElementUI 组件构建无边框 Window 桌面应用(WinForm/WPF)

生活不可能像你想象得那么好&#xff0c;但也不会像你想象得那么糟。 我觉得人的脆弱和坚强都超乎自己的想象。 有时&#xff0c;我可能脆弱得一句话就泪流满面&#xff1b;有时&#xff0c;也发现自己咬着牙走了很长的路。 ——莫泊桑 《一生》 一、技术栈 Vite Vue3 TS E…

Python字符串处理全攻略(一):常用内置方法轻松掌握

文章目录 引言Python字符串常用内置方法str.capitalize()语法示例运行结果注意事项 str.upper()语法示例注意事项 str.lower()语法示例注意事项 str.center()语法示例注意事项 str.count()语法示例注意事项 str.endswith()语法示例注意事项 str.find()语法示例注意事项 结束语 …

单片机原理及应用:Keil μVision4和Proteus 8的配置介绍

笔者所在的专业最近开设了单片机课程&#xff0c;对笔者而言&#xff0c;虽然之前有一定的代码基础。但还是第一次面对既要求代码架构又要求电路仿真的领域。为了巩固知识和增强记忆&#xff0c;特此创建了这个专栏&#xff0c;谨以一名非电专业初学者的身份记录和分享知识。 …

[node]Node.js 中REPL简单介绍

[node]Node.js 中REPL简单介绍 什么是REPL为什么使用REPL如何使用REPL 命令REPL模式node的全局内容展示node全局所有模块查看全局模块具体内容其它命令 实践 什么是REPL Node.js REPL(Read Eval Print Loop:交互式解释器) 表示电脑的环境&#xff0c;类似 Windows 系统的终端或…

BDD - Python Behave 入门

BDD - Python Behave 入门 Behave 是什么Behave 的主要特点和组成部分Behave 实践安装 BehaveBehave 项目目录结构创建项目创建 Feature 文件创建步骤定义文件 执行用例执行全部用例执行部分用例 生成报告生成 Json report生成 HTML 报告生成 Junit report生成 Cucumber report…

大数据技术基础-读书笔记

大数据技术基础-读书笔记 一、大数据概述 大数据是指在一定时间内无法用常规软件工具对其内容进行抓取、处理、分析和管理的数据集合。 大数据一般会涉及两种以上的数据形式&#xff0c;数据量通常是100TB以上的高速、实时数据流&#xff0c;或者从每年增长速度快的小数据开…

【Docker-5】镜像编排

Dockerfile语法 制作apache镜像 httpd.service 文件路径&#xff1a;/lib/systemd/system/httpd.service [rootdocker-0002 ~]# mkdir apache [rootdocker-0002 ~]# cd apache拷贝动态页面到docker-0002的/root/apache/ [rootecs-proxy ~]# scp /root/5/public/info.php 192.…

js中的Array.from()和Array.of()方法的用法详情

&#x1f601; 作者简介&#xff1a;一名大四的学生&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;JavaScript小贴士 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要的是继续…

Spring Boot学习随笔- 拦截器实现和配置(HandlerInterceptor、addInterceptors)、jar包部署和war包部署

学习视频&#xff1a;【编程不良人】2021年SpringBoot最新最全教程 第十三章、拦截器 拦截器 &#xff1a;Interceptor 拦截 中断 类似于javaweb中的Filter&#xff0c;不过没有Filter那么强大 作用 Spring MVC的拦截器是一种用于在请求处理过程中进行预处理和后处理的机制。拦…

C# SQLite基础工具类

目录 1、安装System.Data.SQLite工具包 2、创建数据库 3、数据库的连接与断开 4、执行一条SQL语句 5、批量执行sql语句 6、返回首行首列值 7、执行sql语句返回datatable 1、安装System.Data.SQLite工具包 2、创建数据库 /// <summary> /// 数据库路径 …

量化交易学习笔记:XGBoost 在量化选股中的应用

一、引言 本篇文章通过借鉴传统机器学习算法——XGBoost——对相同的量价因子进行实验&#xff0c;方便与深度学习模型进行对比实践。 二、算法介绍 XGBoost 是在 Gradient Boosting&#xff08;梯度提升&#xff09;框架下实现的机器学习算法&#xff0c;全称为“极限梯度提…