extjs 时间范围选择的实现

基于extjs框架实现的双日历功能 立即下载

extjs中 有时需要选择一个日期范围 ,需要自动判断,选择的开始日期不能大于结束日期,或结束日期不能小于开始日期,实现的代码如下


效果图:


从上图可以看到,当选择了一个开始时间后,会自动限制结束时间的选择范围,实现两个日期选择器的联动.

代码如下:

首先定义联动处理函数:


    Ext.apply(Ext.form.field.VTypes, {
        daterange: function (val, field) {
            var date = field.parseDate(val);

            if (!date) {
                return false;
            }
            if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
                var start = field.up('grid').down('#' + field.startDateField);
                start.setMaxValue(date);
                start.validate();
                this.dateRangeMax = date;
            }
            else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
                var end = field.up('grid').down('#' + field.endDateField);
                end.setMinValue(date);
                end.validate();
                this.dateRangeMin = date;
            }
            return true;
        },
        daterangeText: '开始日期必须小于结束日期'
    });

    Ext.tip.QuickTipManager.init();


在tbar,bbar或form中的items中增加:


        {
            xtype: 'datefield',
            fieldLabel: '时间范围  开始',
            name: 'startdt',
            id: 'startdt',
            vtype: 'daterange',
            endDateField: 'enddt',
            format: 'Y-m-d',
            width: 220,
            labelWidth: 90,
            msgTarget: 'side',
            autoFitErrors: false
        }, {
            xtype: 'datefield',
            fieldLabel: '结束',
            name: 'enddt',
            id: 'enddt',
            vtype: 'daterange',
            startDateField: 'startdt',
            format: 'Y-m-d',
            width: 170,
            labelWidth: 40,
            msgTarget: 'side',
            autoFitErrors: false
        }, { xtype: 'button',
            text: '查询',
            iconCls: 'fljs',
            handler: function () { ...


即可实现以上效果 本代码复制在extjs4.1.1中运行


DateTime:将一个ExtJS日期字段和一个ExtJS时间字段合并为一个表单字段 约会时间 将一个ExtJS日期字段和ExtJS时间字段组合为一个表单字段。 兼容ExtJS 4.1 阅读帖子。 立即下载

相关推荐

CalendarMatrix:EXTJS 增强型日历组件,用于自定义样式的日历网格。 支持只读、范围选择、多选、单日期选择

日历矩阵 EXTJS 增强型日历组件,用于自定义样式的日历网格。 支持只读、范围选择、多选和单日期选择。 CalendarMatrix 是一个 EXTJS 5.x 组件,它扩展了 Ext.picker.Date 以在 Sencha 的日期选择器组件的实现中提供难以置信的灵活性。 此组件将与早期版本的 EXTJS 一起使用,并稍作修改。 以下示例包含在演示和随附的 CalendarMatrixDemo 项目(还包括架构 3.2 项目)中: MarketWatch 风格期权到期只读日历和图例 多“随机”日期选择示例 单个日期选择弹出窗口展示了许多高级功能,包括:国际语言支持、每个日期单元格内的自定义 HTML、自定义周末样式、自定义禁用日期 TripAdvisor、Trivago、Expedia 和 Travelocity 风格的日期范围选择器示例 Forms、Grids(行编辑和单元格编

Extjs 求起止时间区间值不超过几天或几小时

需求:通过类型确定哪种许可证,里面有有效期止时间,作业许可证时间区间不超过10天,其他不超过8小时 。 思路:把时间变为毫秒值在比较!!!!!!!!!!!! 里面有 startDate 开始时间 endDate 结束时间 如何获取呢? var startDate = me.getViewModel().data.permit.startDate; var endTime = me.ge...

weixin_41987908的博客 285

Anthropic API接入指南:连接失败、403鉴权与Claude Code集成排查

在AI应用开发中,API接入与鉴权机制是开发者绕不开的基础工程问题。无论是调用云端模型服务还是自建网关,网络连通性、HTTP状态码语义、模型路由映射都会直接影响服务可用性。本文从通用的网络诊断与鉴权原理出发,梳理了从TCP连接失败到403权限拒绝的典型链路,并深入解析网关模型路由匹配机制。在此基础上,进一步说明如何通过环境变量完成Claude Code与VS Code的本地集成,以及一套基于Python的可复现接入方案。内容涵盖Anthropic API高频报错定位、curl冒烟测试、SDK工程化实践,适合

weixin_28743405的博客 467

ExtJs日期时间选择控件(精确到秒)

一。一些废话 近日来,有几个项目用到了EXTJS作为Web前端。也看到了一些童鞋苦苦在网上寻觅可以选择时间的控件,由于EXTJS版本差异较大,利用官方3.2的Demo制作了一个可以选择到秒的时间控件,该控件只能够用于ExtJs2.2以上的版本。经过测试ExtJs2.02版本不适用该控件,如果你还在使用2.02这个版本或者更老,请绕道。废话不说了,看代码: 二。文件明细: Spinner.js

xul2009的专栏 1338

从零到一:KUKA机械臂与ROS的工业级通讯协议深度解析

本文深度解析KUKA机械臂与ROS的工业级通讯协议,重点对比EKI与RSI两种核心接口的技术特点与应用场景。详细介绍了网络架构设计、数据包解析机制及ROS-I集成方法,并提供实时性能优化与故障排除策略,为工程师实现高可靠性工业自动化集成提供完整解决方案。

2a4s6d8f0g的博客 296

手把手教你离线部署Jupyter Notebook及高效插件配置

本文详细介绍了如何在离线环境中部署Jupyter Notebook及配置高效插件,包括离线安装步骤、依赖管理、核心扩展安装及常见问题排查。特别针对金融、科研等封闭网络场景,提供完整的whls包和requirements.txt解决方案,帮助开发者和数据分析师突破网络限制,提升工作效率。

weixin_28839549的博客 583

php 自动选择时间的代码,JavaScript_extjs 时间范围选择自动判断的实现代码,extjs中 有时需要选择一个日期 - phpStudy...

extjs 时间范围选择自动判断的实现代码extjs中 有时需要选择一个日期范围,需要自动判断,选择的开始日期不能大于结束日期,或结束日期不能小于开始日期,实现的代码如下效果图:从上图可以看到,当选择了一个开始时间后,会自动限制结束时间的选择范围,实现两个日期选择器的联动.代码如下:首先定义联动处理函数:Ext.apply(Ext.form.field.VTypes, {daterange: fu...

weixin_39553753的博客 93

图像去雾新思路:手把手教你复现DEA-Net中的“细节增强卷积”与PyTorch实现

本文详细解析了DEA-Net中的'细节增强卷积'(DEConv)与PyTorch实现,通过多分支差分卷积和重参数化技术,显著提升单图像去雾效果。文章从数学原理到代码实现,手把手指导复现这一创新架构,帮助开发者在保持轻量化的同时实现41dB以上的PSNR指标,适用于自动驾驶、遥感监测等关键领域。

weixin_30323631的博客 505

Extjs4中时间范围的控制(开…

留着,可能有用.原文地址:Extjs4中时间范围的控制(开始和结束时间的同步问题)作者:diagowangExt.apply(Ext.form.field.VTypes, { dateRange : function(val, field) {            if(field.dateRange){             if(field.dateRange.begin){//控制结束时

tobesili2012的专栏 537

LPDDR5X内存技术解析:性能提升与优化策略

内存技术在现代计算系统中扮演着核心角色,其性能直接影响整体系统效率。LPDDR5X作为JEDEC最新标准,通过提升数据传输率至8533Mbps、优化能效比15%以上,并扩展突发长度至32字节,显著提升了移动设备的处理能力。这些改进特别适用于5G通信、AI加速(如昇腾芯片)及8K视频处理等高带宽需求场景。技术原理上,LPDDR5X引入了动态电压频率调整(DVFS)和可编程突发长度等创新机制,有效降低了实际应用中的延迟。在工程实践中,合理的PCB布局和信号完整性验证是确保高速稳定运行的关键。随着AI和8K应用的

weixin_29190169的博客 397

手把手教你用ROS和Gazebo搭建Unitree A1机器狗仿真环境(含URDF/Xacro详解)

本文详细介绍了如何使用ROS和Gazebo搭建Unitree A1机器狗的仿真环境,涵盖URDF/Xacro文件编写、Gazebo物理引擎集成及ROS控制实现。通过实战指南,帮助开发者掌握四足机器人仿真技术,提升开发效率。

bush的博客 278

cls extjs5_【extjs】 extjs5 Ext.grid.Panel 搜索示例

先看效果图:页面js:/*** 日志类型 store* */var logTypeStore = Ext.create(‘Ext.data.Store‘, {fields: [‘type‘, ‘name‘],data : [{"type":"1", "name":"登录日志"},{"type":"2", "name":"操作日志"}]});/*** 搜索面板* */var panel = Ext....

weixin_36328984的博客 142

uniapp+google map不显示

uniapp+renderJS+google map开发安卓版APP非小程序,google map小叉号不显示,google map自定义marker右上角的小叉号如何去掉,uniapp+google map不显示

renkai721的专栏 526

My97DatePicker选择两个日期范围不超过30天的demo

需求 ExtJs下使用My97DatePicker对时间范围不超过30天进行选择。 关键点 使用全局变量。 对选择完的第一个日期进行逻辑判断。(我的逻辑能力还有待加强啊) 因为当选择了第一个框范围在超过30天的地方,而因为第二个框已经有默认值是今天了,如果用户不碰第二个框就查询会出现超过一个月的问题。于是在选完第一个框就强制弹出第二个框。(我是不是偷懒了- . -?) 代码例子 //...

stillcoolme 805

SAP_MM模块非限制库存转冻结库存

项目非限制 → 冻结事务码移动类型343影响库存不可用,不参与MRP常见用途质量问题封存、盘点冻结、待退货品通过本文,我们了解了 SAP 的[SAP_MM模块非限制库存转冻结库存]的基本概念和应用方法。希望这些信息能帮助您在实际工作中更好地使用 SAP 系统,提高工作效率和管理水平。更多SAP文章请点击更多SAP文章更新,大家一起学习进步!!!文章中如有错误。敬请指正!搜索公众号:SAP资料文库微信号:SPRO_PP时间:2025-10-14。

我小时候很黑的博客 585

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【extjs】 extjs5 Ext.grid.Panel 搜索示例

先看效果图: 页面js: <script type="text/javascript"> /** * 日志类型 store * */ var logTypeStore = Ext.create('Ext.data.Store', { fields: ['type', 'name'], data : [ {"ty...

a84480766的博客 393

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Extjs日常记录点滴

1、Grid中的日期格式化(字符串转换成日期显示、指定格式的日期显示) text: '交易起始时间', align: 'center', dataIndex: 'startTime', renderer : function (val)...

麦子 225

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ext 时间范围搜索 时间比较

//总结起始时间 zjqssj : null, //总结结束时间 zjjssj:null, this.zjqssj = new Ext.form.DateField({ anchor : '100%', lableSeparator : ':', emptyText : '请选择日期', editable : false, field

u012767072的专栏 396

构建自定义ExtJs时间日期组件

构建自定义ExtJs时间日期组件 1 代码 [code="java"]Ext.define('Qui.view.DatetimepickerDialog', { extend: 'Ext.window.Window', alias: 'widget.DatetimepickerDialog', requires: [ 'Ext.menu.Da...

Jobar's life 390

EXT综合布局

Ext.onReady(function(){ Ext.QuickTips.init(); //新建用户下拉列表。 var user_combobox = new Ext.form.ComboBox({ store: new Ext.data.SimpleStore({fields:[],data:[[]]}), id: 'log_combobox', //hi...

泉水依然 137

三个DateField之间的时间限制

DateField的时间限制的总结: 1)两个DateField之间的时间限制:例如:DateFieldStartDate为开始时间,DateFieldEndDate为结束时间,结束时间的选择不能在开始时间之前;代码如下: <ext:Anchor Horizontal="90%"> <ext:DateField runat="server" ID="Dat...

weixin_34014277的博客 125

ExtJs FieldSet

var type = [ [ '查看本月', 1 ], [ '本月以前', 2 ] ]; var storeType = new Ext.data.SimpleStore({ fields : [ 'text', 'value' ], data : type }); var comboType = new Ext.form.ComboBox({ store : storeTy

益之的专栏 3101

EXTJS 中的 DateField 和 Date 使用方法

    今天组里给了一个做界面的任务,用的是EXTJS。 界面很简单,就是一个 ComboBox 和几个 TextFiled 外加两个 DateField。ComboBox 和 TextField 就不说了,说一下 DateField 在使用过程中遇到的一些问题和解决方法。两个 DateField 用于确定查询条件的时间范围。要有缺省值。于是想把一个日期设为当前日期,另一个为两天前的日期。

kaihua_86的专栏 5724
上一篇: extjs tree check 级联选择
下一篇: 开始学习java
领尚
博客等级 码龄14年 1143粉丝 271原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值