layui排序功能
后台常用功能之排序!!!

一次只能排一个序!!!
基本样式
<tr>
<th>序号<span class="layui-table-sort layui-inline" id="id_sort"
lay-sort="{$id_sort}"><i class="layui-edge layui-table-sort-asc"
title="升序"></i><i class="layui-edge layui-table-sort-desc"
title="降序"></i>
</span>
</th>
<th>操作
</th>
<th>名称</th>
<th>显示</th>
<th>创建日期
<span class="layui-table-sort layui-inline" id="create_time_sort"
lay-sort="{$create_time_sort}"><i
class="layui-edge layui-table-sort-asc" title="升序"></i><i
class="layui-edge layui-table-sort-desc" title="降序"></i>
</span>
</th>
</tr>
点击事件
// 排序
$("#id_sort").on('click', function () {
let sort = $(this).attr('lay-sort');
sort = deal_sort_val(sort);
// 清理其他的排序值
$(".layui-table-sort").attr('lay-sort','');
$(this).attr('lay-sort',sort);
let search_str = get_search();
window.location.href = '__URL__/index?page=' + 1 + search_str;
});
$("#create_time_sort").on('click', function () {
let sort = $(this).attr('lay-sort');
sort = deal_sort_val(sort);
$(".layui-table-sort").attr('lay-sort','');
$(this).attr('lay-sort',sort);
let search_str = get_search();
window.location.href = '__URL__/index?page=' + 1 + search_str;
});
处理排序的逻辑
/**
* 处理排序
*/
function deal_sort_val(sort) {
if (!sort) {
sort = 'desc'; // 默认改为降序
} else {
if (sort == 'desc') {
sort = 'asc';
} else {
sort = 'desc';
}
}
return sort;
}
结合搜索的处理
function get_search() {
let start = $("#start").val();
let end = $("#end").val();
let search_str = '';
if (start) search_str += '&start=' + start;
if (end) search_str += '&end=' + end;
// sort
let id_sort = $('#id_sort').attr('lay-sort');
let create_time_sort = $('#create_time_sort').attr('lay-sort');
if (id_sort) search_str += '&id_sort=' + id_sort;
if (create_time_sort) search_str += '&create_time_sort=' + create_time_sort;
return search_str;
}
后端逻辑
// search
$where['deleted'] = 0;
if ($_GET['start'] && $_GET['end']) {
$where['create_time'] = ['between', [strtotime($_GET['start']), strtotime($_GET['end'].' 23:59')]];
$this->assign('start', $_GET['start']);
$this->assign('end', $_GET['end']);
}
if ($_GET['start'] && !$_GET['end']) {
$where['create_time'] = ['gt', strtotime($_GET['start'])];
$this->assign('start', $_GET['start']);
}
if (!$_GET['start'] && $_GET['end']) {
$where['create_time'] = ['lt', strtotime($_GET['end'].' 23:59')];
$this->assign('end', $_GET['end']);
}
// sort
$sort = 'id desc';
if ($_GET['id_sort']) {
$sort = 'id '.$_GET['id_sort'];
$this->assign('id_sort', $_GET['id_sort']);
}
if ($_GET['create_time_sort']) {
$sort = 'create_time '.$_GET['create_time_sort'];
$this->assign('create_time_sort', $_GET['create_time_sort']);
}
$article_type = M('article_type');
$result_list = $article_type->where($where)->limit($start . ',' . $step)->order($sort)->select();
后台常用功能有哪些呢?
搜索,排序,导入,导出,新增,修改,删除,查看详情,以及直接修改,温馨提示等等。
layui排序功能的更多相关文章
- 禁用datagridview中的自动排序功能
把datagridview中的自动排序功能禁用自己收集的两种方法,看看吧①DataGridView中的Columns属性里面可以设置.进入"EditColumns"窗口后,在相应的 ...
- ListBox实现拖拽排序功能
1.拖拽需要实现的事件包括: PreviewMouseLeftButtonDown LBoxSort_OnDrop 具体实现如下: private void LBoxSort_OnPreviewMou ...
- 简单实现Redis缓存中的排序功能
1.在实现缓存排序功能之前,必须先明白这一功能的合理性.不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发 ...
- Java实现中文字符串的排序功能
package test; /** * * @Title 书的信息类 * @author LR * @version 1.0 * @since 2016-04-21 */ public class B ...
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能 由于MYSQL没有提供类似ORACLE中OVER()这样丰富的分析函数. 所以在MYSQ ...
- nls_sort和nlssort 排序功能介绍
nls_sort和nlssort 排序功能介绍 博客分类: oracle ALTER SESSION SET NLS_SORT=''; 排序影响整个会话 Oracle9i之前,中文是按照二进制编码 ...
- [WPF]ListView点击列头排序功能实现
[转] [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...
- MVC5 Entity Framework学习参加排序、筛选和排序功能
上一篇文章实现Student 基本的实体CRUD操作.本文将展示如何Students Index页添加排序.筛选和分页功能. 以下是排序完成时.经过筛选和分页功能截图,您可以在列标题点击排序. 1.为 ...
- YII关联字段并带搜索排序功能
1.简介 从接触yii框架到现在已经快有两个月了,但是自己对yii框架的了解程度并不是很深,并没有系统地去学习,仅仅只是在做项目的时候遇到不懂得知识才去翻手册. 在上一个项目中因为需要将关联的表的字段 ...
随机推荐
- jQuery 的58种事件方法你都用过了吗
jQuery 事件方法 事件方法触发或将函数附加到所选元素的事件处理程序. 下表列出了用于处理事件的所有jQuery方法. 方法 描述 bind() 在3.0版中已弃用. 请改用on()方法.将事件处 ...
- Docker 安装mysql以及外部访问
(1)因为我们的镜像是linux环境下的,我所在的系统是windows系统.首先通过docker客户端切换到linux环境下. (2)使用docker pull mysql/mysql-server ...
- element-ui的tag组件关闭事件失效的原因
问题如上,原因是忘了加上一个函数 @close="handleClose(tag)" <el-tag :key="tag" v-for="tag ...
- C# Winform ProgressBar+Labe 联动显示进度
private void btnCount_Click(object sender, EventArgs e) { label1.Visible=true; progressBar.Visible = ...
- GCN实现3
参考 : 首先看两篇论文,大概了解一下原理性的东西: GRAPH CONVOLUTIONAL NETWORKS THOMAS KIPF, 30 SEPTEMBER 2016 http://tkipf. ...
- odoo10学习笔记六:工作流、安全机制、向导
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189289.html 一:工作流 工作流是与业务流程相关联的模型,可用于跟踪工序的动态演变过程. 工作流. ...
- springcloud学习之路: (一) 最简单的搭建springcloud的方法
参考资料: [JavaEE] 五分钟搭建SpringCloud环境, 进入微服务时代 感谢上篇博文大佬带领走进springcloud世界, 本博文主要目的为记录自己学习springcloud的点点滴滴 ...
- Python列表操作与深浅拷贝(5)——数字处理函数、类型判断、列表链表队列栈
python内建数据结构 分类 数值型: int float complex bool 序列对象: 字符串str 列表list 元组tuple 键值对: 集合set 字典dict 数值型 (list ...
- LoadRunner Controller集合点策略灰色问题 解决
1.脚本里已经添加了集合点,但是在Controller里集合点策略是灰色的无法点击 2.问题解决: 将下图的勾选项去掉即可(系统默认是勾选上的) 去掉勾选后可以选择了:
- JDOJ 1065 打倒苏联修正主义
JDOJ 1065 https://neooj.com/oldoj/problem.php?id=1065 题目描述 [”客观”背景]苏修是苏联修正主义的简称.从1956年到1966年的10年间,过去 ...