JQuery EasyUI 日期控件 怎样做到只显示年月,而不显示日

墨乌 发布于 2015/01/29 17:54
阅读 30K+
收藏 0
JQuery EasyUI  的DateBox控件,怎样做才能只显示年和月的选项,而不显示日。效果如图所示。
加载中
0
陨落人间
陨落人间
限制input表单,最长为六位,嘿嘿
0
墨乌
墨乌
。。。麻烦看下结果图好吗。。。选择时就只要年月的选项,如果是你说的那样,我的问题也没意义了
0
皮蛋猫
皮蛋猫

利用 <input class="easyui-datebox" data-options="formatter:myformatter,parser:myparser">

例子可以参考官方demo的datebox dateformat.html这个例子

或者 http://blog.csdn.net/dandanzmc/article/details/34110767

0
墨乌
墨乌
亲,我要的是  点击datebox的框的日历小图标后,得到的结果图如上图所示那样,只显示年和月,选择了年月后得到一个只有年份和月份的值。。。
皮蛋猫
皮蛋猫
不好意思,没看清楚题意。大概的查了下除了改动源码之外的方案就是。。。更换组件, 不好意思。没有帮助到你
0
伫见燕然
伫见燕然
@墨乌 这个问题有结果吗?
墨乌
墨乌
没有,后来就绕过去这个问题了 ┑( ̄Д  ̄)┍
0
c
chenrun5201
<input id="db"/>
<script>
    $(function () {
        $('#db').datebox({
            onShowPanel: function () {//显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层
                span.trigger('click'); //触发click事件弹出月份层
                if (!tds) setTimeout(function () {//延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔
                    tds = p.find('div.calendar-menu-month-inner td');
                    tds.click(function (e) {
                        e.stopPropagation(); //禁止冒泡执行easyui给月份绑定的事件
                        var year = /\d{4}/.exec(span.html())[0]//得到年份
                        , month = parseInt($(this).attr('abbr'), 10) + 1; //月份
                        $('#db').datebox('hidePanel')//隐藏日期对象
                        .datebox('setValue', year + '-' + month); //设置日期的值
                    });
                }, 0)
            },
            parser: function (s) {//配置parser,返回选择的日期
                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(); }//配置formatter,只返回年月
        });
        var p = $('#db').datebox('panel'), //日期选择对象
            tds = false//日期选择对象中月份
            span = p.find('span.calendar-text'); //显示月份层的触发控件
    });

</script>

easyui 1.4.1开发,实现楼主的效果

江上数峰青
江上数峰青
老兄,用的你这个,有个bug,比如现在16年1月,选15年12月,就不行
风一样自由128
请问只显示年份怎么写啊,虽然你写了那么多注释,但是我还是改不了,年月是可以显示,但是我这边还有一个要求 是只显示年份的,能在你的基础上修改么?
墨乌
墨乌
问题一直没解决,就走了一些迂回方法忽悠客户了。┑( ̄Д  ̄)┍ 还是谢谢你了
0
marsD
marsD
你那个图是哪里找来的啊? 
墨乌
墨乌
easyui 自带的 不过默认显示小图,点击进去可以调处来啊 。本身easyui带有选取月份和年份的
0
s
showbo
#2注意转别人代码请注意发出处,有bug可以从原文获取最新更新


原文章已经修改,兼容1.3+以上版本,可以看这里:http://www.w3dev.cn/article/20150106/easyui-datebox-only-show-year-month.aspx
0
SeaCrying
SeaCrying
@江上数峰青

这个问题你解决了吗


0
helloboy5
helloboy5

解决了么

墨乌
墨乌
没解决。换插件了
返回顶部
顶部