easyui datebox时间控件如何只显示年月
生活随笔
收集整理的這篇文章主要介紹了
easyui datebox时间控件如何只显示年月
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
easyui datebox控件,只顯示年月,不顯示年月日
需要的效果圖如下:
具體的js代碼:
<script>$(function(){intiMonthBox('costTime'); });var intiMonthBox = function(id){var db = $('#'+id);db.datebox({onShowPanel: function () {//顯示日趨選擇對(duì)象后再觸發(fā)彈出月份層的事件,初始化時(shí)沒(méi)有生成月份層span.trigger('click'); //觸發(fā)click事件彈出月份層if (!tds) setTimeout(function () {//延時(shí)觸發(fā)獲取月份對(duì)象,因?yàn)樯厦娴氖录|發(fā)和對(duì)象生成有時(shí)間間隔tds = p.find('div.calendar-menu-month-inner td');tds.click(function (e) {e.stopPropagation(); //禁止冒泡執(zhí)行easyui給月份綁定的事件var year = /\d{4}/.exec(span.html())[0]//得到年份, month = parseInt($(this).attr('abbr'), 10); //月份,這里不需要+1db.datebox('hidePanel')//隱藏日期對(duì)象.datebox('setValue', year + '-' + month); //設(shè)置日期的值 });}, 0);yearIpt.unbind();//解綁年份輸入框中任何事件 },parser: function (s) {if (!s) return new Date();var arr = s.split('-');return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1);},formatter: function (d) {return d.getFullYear() + '-' + (d.getMonth() + 1);}});var p = db.datebox('panel'), //日期選擇對(duì)象tds = false, //日期選擇對(duì)象中月份yearIpt = p.find('input.calendar-menu-year'),//年份輸入框span = p.find('span.calendar-text'); //顯示月份層的觸發(fā)控件 }</script>html頁(yè)面
<div><label>顯示年月:</label><input id="costTime" type="text" class="easyui-datebox"/> </div>需引入文件:
<link rel="stylesheet" type="text/css" href="../js/jquery-easyui-1.4.3/themes/metro/easyui.css"> <script type="text/javascript" src="../js/jquery-easyui-1.4.3/jquery.min.js"></script> <script type="text/javascript" src="../js/jquery-easyui-1.4.3/jquery.easyui.min.js"></script>其中遇到問(wèn)題:
1)漢化和格式
需引入文件,easyui-lang-zh_CN.js,放在easyui.min.js后面
<script type="text/javascript" src="../js/jquery-easyui-1.4.3/locale/easyui-lang-zh_CN.js"></script>2)顯示亂碼問(wèn)題
這是編碼問(wèn)題導(dǎo)致的,將原先的gb2312編碼改成utf-8
最終的顯示結(jié)果
3)格式化顯示問(wèn)題
? 當(dāng)選擇的月份小于10時(shí),沒(méi)有添加“0”
修改格式化日期formatter方法,如下
formatter: function (d) {//解決月份小于10時(shí),未加'0'問(wèn)題var yearstr = d.getFullYear();var month = d.getMonth() + 1;var monthstr = month<10? "0"+ month : month; return yearstr+ '-'+ monthstr;// return d.getFullYear() + '-' + (d.getMonth() + 1);}?最終結(jié)果
參考網(wǎng)址:
http://www.cnblogs.com/hmYao/p/5779463.html
總結(jié)
以上是生活随笔為你收集整理的easyui datebox时间控件如何只显示年月的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: RabbitMq+Haproxy负载均衡
- 下一篇: java.util.concurrent