在datagrid 列表中有个日期列,可手动输入。现在必须YYYY-MM-DD这种格式输入才行。
客户想YYYYMMDD这样输入,但是datebox不支持这种格式。 按YYYYMMDD输入完回车,日期自动变成 YYYY-MM-DD 格式的当前时间。
有什么办法吗,试了好多种方法,都不行。无法抓取该控件的回车事件。下面这种方法也抓取不到该控件的回车事件,别的控件的回车时间都能抓取。
document.onkeydown = function(event) {
e = event ? event : (window.event ? window.event : null);
if (e.keyCode != 13) {
return;
}
       alert(‘回车’);
}

解决方案 »

  1.   

    自己好好看api,formatter/parser
    <input id="db">
        <script>
            function p0(v) { if (v < 10) return '0' + v; return v.toString()}
            $('#db').datebox({
                formatter: function (d) {
                    return d.getFullYear().toString() + p0(d.getMonth() + 1) + p0(d.getDate())
                },
                parser: function (s) {
                    if (!/^\d{8}$/.test(s)) return new Date()
                    return new Date(s.substr(0, 4) + '/' + s.substr(4, 2) + '/' + s.substr(6, 2))
                }
            })
        </script>Web开发学习资料推荐
    easyui datebox只显示年月选择,隐藏日期
    easyui开发技巧
      

  2.   

    重写啊,api中的方法重写啊。