开发环境:

  语言:PHP

  框架:ThinkPHP

问题:在引用插件My97DatePicker时,想实现:开始日期不能大于结束日期,结束时间不能小于开始时间

步骤一、查看文档官方文档http://www.my97.net/dp/demo/index.htm可以看到实现办法如下:

步骤二、按照文档说明,作用于自己代码中:

<input name="start_time" type="text" id="start_time" class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd',maxDate:'#F{$dp.$D(\'end_time\')}'})"/>

<input name="end_time" type="text" id="end_time" class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'start_time\')}',maxDate:'{$max_end_norm}'})"/>

运行发现,maxDate和minDate控制总是失效

排查发现问题:

查看缓存Cache发现如下问题:

<input name="start_time" type="text" id="start_time" class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd',maxDate:'#F<?php echo ($dp["$D('end_time')"]); ?>'})"/>
<input name="end_time" type="text" id="end_time" class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F<?php echo ($dp["$D('start_time')"]); ?>',maxDate:'<?php echo ($max_end_norm); ?>'})"/>

可以看到maxDate和minDate内容全部被当做PHP变量<?php echo ($dp["$D('end_time')"]); ?>和<?php echo ($dp["$D('start_time')"]); ?>编译输出了,而我们想要的结果是作为常量;

解决办法:

方法1.在标签的{$之间增加一个空格,让php标签无效参考链接 (推荐方法)

例如:{$name}  修改成:{ $name}

方法2.改变默认的开始标记和结束标记 参考链接 

'TMPL_L_DELIM'=>'<{',

'TMPL_R_DELIM'=>'}>',

方法3.可以使用literal标签来防止模板标签被解析 参考链接  

 <literal>{$name}</literal>

以上自己遇到的问题及解决办法;

解决:My97DatePicker 日期插件引用在PHP文件中maxDate和minDate控制失效问题的更多相关文章

  1. 为My97DatePicker日期插件设置默认日期

    datepicker.zip 为My97DatePicker日期插件设置默认日期,开始日期为系统日期的前一个月,结束日期为系统日期: 开始日期不能大于结束日期,且都不能大于今天: 开始日期-maxDa ...

  2. Windows Store App 全球化:引用分离资源文件中的资源

    大部分应用程序仅需要单个默认资源文件,例如Strings/zh-CN/Resources.resw,但是在某些应用程序中,最好将资源分离到多个资源文件中,以便更好地组织资源内容,这样就需要考虑如何引用 ...

  3. My97DatePicker日期插件

    My97DatePicker是一款优秀的日期插件,它可以很方便地实现各种日期选择效果,博得广大IT开发人员的青睐. 下面来讲讲它的常用功能及设置方法. 方法/步骤   先来最简单的配置方法: (1)下 ...

  4. 解决xp搜索“文件中的一个字或者词组”失效

    问:我的电脑安装的是Windows XP系统,最近它的文件搜索功能不能用了,打开搜索界面时,输入文件或文件夹名的文本框是灰色的,无法输入.请问该怎么解决? 答:打开注册表编辑器,定位到[HKEY_CU ...

  5. 解决linux下“XX不在 sudoers 文件中。此事将被报告"的问题

    在使用sudo命令时,经常性会提示出“不在 sudoers 文件中.此事将被报告”的错误信息. 这是因为当前登录的账号不在sudo权限里面. sudo命令可以让你以root身份执行命令,来完成一些我们 ...

  6. nodejs中引用其他js文件中的函数

    基本语句 require('js文件路径'); 使用方法 举个例子,在同一个目录下,有app.fun1.fun2三个js文件. 1. app.js var fun1 = require('./fun1 ...

  7. Maven让资源文件处理插件能够解析资源文件中的Maven属性

    <build> <resources> <resource> <directory>${project.basedir}/src/main/resour ...

  8. 日期插件My97DatePicker

    因为项目中需要选中日期,所以就找到了My97DatePicker这个插件,用法非常的简单,但是因为各个公司的要求不同,我们公司使用js拼代码,然后渲染到页面上的,所以遇到了一点问题… 1.My97Da ...

  9. 从零开始实现ASP.NET Core MVC的插件式开发(六) - 如何加载插件引用

    标题:从零开始实现ASP.NET Core MVC的插件式开发(六) - 如何加载插件引用. 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/1171 ...

随机推荐

  1. 兼容的Ajax

    /** * 创建XMLHttpRequest对象 * @param _method 请求方式: post||get * @param _url 远程服务器地址 * @param _async 是否异步 ...

  2. Linux centos 7 安装NFS服务

    NFS服务简介:NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下.---主要功能指的是共享文件 为什么要安装NF ...

  3. ArrayList 源码分析

    ArrayList 源码分析 1. 结构   首先我们需要对 ArrayList 有一个大致的了解就从结构来看看吧. 1. 继承   该类继承自 AbstractList 这个比较好说 2. 实现 这 ...

  4. c++ --> union介绍

    union介绍 共用体,也叫联合体,在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,以达到节省空间的目 ...

  5. 使用redis的比较完美的加锁解锁

    使用redis的比较完美的加锁解锁 tags:redis read&write redis加锁和解锁 php 习惯性说一下写这篇文章要说明什么,我们经常用redis进行加锁操作,目的是为了解决 ...

  6. 基于FPGA的Cordic算法实现

    CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数.双曲线.指数.对数的 ...

  7. spring学习笔记二 注解及AOP

    本节需要导入spring-aop包 注解 使用注解的目的是为了代替配置,在使用注解时,省略键时,则是为value赋值. 扫描某个包下的所有类中的注解 <?xml version="1. ...

  8. Leetcode 12——Integer to Roman

    12.Integer to Roman Given an integer, convert it to a roman numeral. Input is guaranteed to be withi ...

  9. 使用Flask-SQLAlchemy管理数据库

    SQLAlchemy 是一个很强大的关系型数据库框架,处于数据库抽象层 ,支持多种数据库后台. 提供了高层 ORM,也提供了使用数据库原生 SQL 的低层功能. 安装Flask-SQLAlchemy ...

  10. 学号:201621123032 《Java程序设计》第11周学习总结

    1:本周学习总结 1.1.:以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2:书面作业 2.1.: 源代码阅读:多线程程序BounceThread 1.1: BallRunnable类有什 ...