【前端】easyUI可编辑行(年-月格式)日期输入控件的实现_前端日期时间控件-程序员宅基地

技术标签: easyUI  前端  日期控件  年月格式  

背景:

项目中,用datagrid的可编辑行实现对业务信息的录入

其中包括日期字段的录入

在以往的开发中常常见到的是这种(easyUI日期输入框):

<input class="easyui-datebox"  id="xxx"  name="xxx"  required="true"/>

既非可编辑行的日期控件和这种(datagrid日期输入框):

 <th data-options="field:'endTime', width:'5%'"  align="center"  editor="{type:'datebox',options:{required:true,editable:false}}"/>

即可编辑行的日期输入控件

需求:

在datagrid的行编辑中要实现“年-月” 日期的输入效果,幻想如图:

按照非行编辑 年月格式 日期输入控件的办法,套用至此,然并卵

久经折腾,功能迟迟不肯实现...

然任重时短,古人云勿撞死于南墙,因此想到了另外一种不是办法的办法,以解燃眉之急:

jsp部分:

<th  rowspan="3" data-options="field:'months',width:'8.5%',align:'center', 
     editor:{type:'combotree',options:{required:true,valueField:'id',textField:'text',data:[]}}">开始时间</th>     

js部分:

function add(){ 
  if (errindex == -1) {
    if(endEditing()){ 
          $('#datagrid').datagrid('appendRow', {months:months});
	  editIndex = $('#datagrid').datagrid('getRows').length-1;
	  $('#datagrid').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);
    } 
    //自定义年月控件combotree
    var targetsMonth = $('#datagrid').datagrid('getEditor',{'index':editIndex,'field':'months'}).target;
    var dataArr= new Array();
    var date=new Date();
    var year=date.getFullYear();  
    //当前年份-10年
    for(var m=0;m<11;m++){
      //1-12月
      for(var n=12;n>0;n--){
	    if(n<10){ n="0"+n; }else{ n=n+""; }
	    dataArr.push({text:year+"-"+n ,id:year+"-"+n}); 
      }
      year=year-1;
    }   
    targetsMonth.combotree('loadData', dataArr);
    rowIndex = editIndex;
    errindex = editIndex;
 }else{
    $.messager.alert('提示信息', '验证不通过!', 'info');
 }
}

问题来了,通过combotree选择年-月格式的日期后持久化保存到数据库中,数据库的开始时间字段为date类型的

需要进行一下转换:

String comboDate="2018-11";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
sdf.format(comboDate);  
<script type="text/javascript">
  function getDate(strDate) { 
    var st = strDate; 
    var a = st.split(" "); 
    var b = a[0].split("-"); 
    var c = a[1].split(":"); 
    var date = new Date(b[0], b[1], b[2], c[0], c[1], c[2]);
    return date; 
  }  
</script>

效果图:

                

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/GJ454221763/article/details/83866186

智能推荐

配置iTerm2打开自动执行命令_iterms2-程序员宅基地

文章浏览阅读6.6k次。Send text at start:执行脚本的命令,不想写路径可以把脚本到/usr/local/bin里面(赋予执行权限也要相应修改),此处的脚本地址是在终端到脚本目录下用pwd命令获取的。打开iTerm2,commad+o,打开profies->edit profies,点击+号,创建一个新的profile。回到profiles页面,双击新建的profile即可自动连接到服务器。在新的profile中填写。_iterms2

Vue-ECharts基本使用及Demo_ailed to resolve import "vue-echarts" from-程序员宅基地

文章浏览阅读2.5k次。Vue-ECharts基于EChartsv4.1.0+ 开发,依赖Vue.jsv2.2.6+。安装$ npm install echarts vue-echarts使用方法import Vue from 'vue'import ECharts from 'vue-echarts' // 在 webpack 环境下指向 components/ECharts.vue/..._ailed to resolve import "vue-echarts" from

【矩阵分解】PCA - 主成分分析中的数学原理-程序员宅基地

文章浏览阅读520次。PCA主成分分析属于矩阵分解算法中的入门算法,通过分解特征矩阵来实现降维。前置知识:包括样本方差、协方差、协方差矩阵、散度矩阵的简单介绍特征值分解EVD和奇异值分解EVD的原理和流程分别基于EVD和SVD的PCA实现方法PCA的应用以及对一些应用或说明的补充。

diskMirror-backEnd-spring-boot | diskMirror 后端服务器 SpringBoot 版本!-程序员宅基地

文章浏览阅读1k次,点赞14次,收藏6次。当然,您也可以直接在启动参数中设置配置文件的使用,下面展示的就是使用 Java 命令启动 SpringBoot 包的语法,其中包含两个路径,第一个是配置文件的路径,第二个是 SpringBoot 包的路径,这样就可以实现让。此项目是继承于 diskMirrorBackEnd 项目的,因此所有的服务使用方法与 DiskMirrorBackEnd 中是一样的,您可以。您只需要将此项目源码克隆,然后修改配置文件即可,下面是配置文件的模板。至于需要使用的包和配置文件模板,您可以亲自编译,也可以在。

【FAQ】解决java.lang.NoSuchMethodError: org.json.JSONObject.toMap()Ljava/util/Map;-程序员宅基地

文章浏览阅读7.4k次。1. 问题用json schema校验json数据的时候,遇到报错:java.lang.NoSuchMethodError: org.json.JSONObject.toMap()Ljava/util/Map; at org.everit.json.schema.loader.SchemaLoader$SchemaLoaderBuilder.schemaJson(SchemaLoade..._java.lang.nosuchmethoderror: org.json.jsonobject.tomap()

爆炸新闻!一失足少女白天学习Java,晚上工作突然一天摇身一变成某大老_他白天学习晚上工作-程序员宅基地

文章浏览阅读134次。String的不变性String在Java中特别常用,相信很多人都看过他的源码,在JDK中,关于String的类声明是这样的:public final class Stringimplements java.io.Serializable, Comparable<String>, CharSequence {}可以看到,String类是final类型的,那么也就是说,String是一个不可变对象。不可变对象是在完全创建后其内部状态保持不变的对象。这意味着,一旦对象..._他白天学习晚上工作

随便推点

用C语言实现“7-4 BCD解密”,明白十进制、二进制、十六进制的转换过程,基础编程由此开始(第四节)-程序员宅基地

文章浏览阅读920次。今天这道题目呢,与之后要讲到的“龟兔赛跑”都是从PAT的基础编程题目中节选过来的。难度不是很大,但是特别基础,复习到了基础知识,也就是二进制、十进制两者之间的相互转换。我们先来看看这道题目的要求:BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以,如果一个BCD数的十六进制为0x12,那么它的十进制也是12。此时有一位小伙伴并不知道BCD数的运算规则,直接把0x12当作二进制来转换成十进制,那就会得到18。现在呢,我们就期望能把这个错误得到的十进制,转换成我们期望得到

Ubuntu自定义服务(service)并设置开机自启_udcservice要开机启动吗-程序员宅基地

文章浏览阅读7.5k次,点赞2次,收藏25次。Serviceubuntu配置文件systemd 命令详解ubuntu配置文件每一个服务都对应一个配置文件systemd 是 Linux 下的一种 init 软件,其作用是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动systemd 默认从目录 /etc/systemd/system/ 读取配置文件,但是,里面存放的大部分文件都是符号链接,指向目录 /usr/lib/systemd/system/(即 /lib/systemd/system),真正的配置文件存放在_udcservice要开机启动吗

PX、DP和SP之间的换算_dp转sp-程序员宅基地

文章浏览阅读1.5k次。在Android开发中,尺寸换算可以说既简单又复杂,而且还比较碎,特别是屏幕适配的时候肯定会用到他们。今天就来总结一下他们三者的关系,首先说下他们都是什么。px:像素单位。最基础的图像构成元素单位 dp:与密度无关的像素,这是一个基于屏幕物理密度的抽象单位。 这里要解释一下密度的概念,密度(dpi):每英寸包含的像素个数(单位是dpi),1dp实际上相当于密度为160dpi的屏上的一个点。可否理_dp转sp

【CDH】选定的 Parcel 正在下载并安装在群集的所有主机上 主机运行状况不良_选定的 parcel 正在下载并安装在群集的所有主机上。-程序员宅基地

文章浏览阅读6.4k次,点赞2次,收藏3次。安装cdh 5.15.2的时候,因为下在的包MD5值,不对了,重新安装Parcel这一步。但是却报异常。现象通过Cloudera WEB界面安装Hadoop过程中,在安装Parcel步骤时,一个节点分配激活失败,报错信息显示”主机运行状况不良”,如下图所示。分析CM的集群是Server-Agent模式的,那么必须有一个唯一的id来标识Server和Agent属于同一个集群,在Agent端..._选定的 parcel 正在下载并安装在群集的所有主机上。

python奇数数列求和_斐波那契数列(Fibonacci sequence)-程序员宅基地

文章浏览阅读3.1k次。斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。斐波那契数列指的是这样一个数列:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1,..._奇数数列求和python代码

Java之------常用的设计模式_impl和business属于什么设计模式-程序员宅基地

文章浏览阅读4k次。一、单例模式a、单例模式:单例是最简单的很常用的一种设计模式,保证了一个类在内存中只能有一个对象。思路: 1) 如果其他程序能够随意用new创建该类对象,那么就无法控制个数。因此,不让其他程序用new创建该类的对象。 2) 既然不让其他程序new该类对象,那么该类在自己内部就要创建一个对象,否则该类就永远无法创建对象了。 3) 该类将创建的对象对外(整个系统)提供_impl和business属于什么设计模式

推荐文章

热门文章

相关标签