【问题标题】:how to add datepicker in jqgrid如何在 jqgrid 中添加日期选择器
【发布时间】:2013-11-29 04:42:58
【问题描述】:

当我在网格中写入日期字段时,我的网格日期字段不显示。连网格也不显示

colModel:[
{name:'id',index:'id', width:55, editable:false,editrules:{required:true},searchoptions:{sopt: ['eq', 'ne']}},            
{name:'employe',index:'employe', width:100,editable:true,formoptions:{rowpos:2,elmprefix:"    "},editrules:{required:true}},
{name:'gender',index:'gender', width:55,editable: true, formatter: 'dynamicText', width: 150, edittype: 'custom', editoptions: { custom_element: radioelem, custom_value: radiovalue},formoptions:{rowpos:4,elmprefix:"    "}},
{name:'role',index:'role', width:100,editable:true,edittype:"select",
    editoptions:{dataUrl:'test.txt', defaultValue:'Intime'},
    formoptions:{rowpos:3,elmprefix:"    " }},
{name:'department',index:'department', width:80, align:"right",editable:true,edittype:"select",
    editoptions:{dataUrl:'test.txt', defaultValue:'Intime'},
    formoptions:{rowpos:5,elmprefix:"    " }},
{name:'joinedate',index:'joinedate', width:80,
    editable:true,
    editoptions:{size:12,
        dataInit:function(el){
            $(el).datepicker({dateFormat:'yy-mm-dd '});
        },
        defaultValue: function(){
            var currentTime = new Date();
            var month = parseInt(currentTime.getMonth() + 1);
            month = month <= 9 ? "0"+month : month;
            var day = currentTime.getDate();
            day = day <= 9 ? "0"+day : day;
            var year = currentTime.getFullYear();
            return year+"-"+month + "-"+day;                
        }
    },
    formoptions:{ rowpos:6,elmsuffix:"  yyyy-mm-dd", elmprefix:"&nbsp;&nbsp;&nbsp;&nbsp;"},
    editrules:{required:true}
}

这是我的代码..在网格日期字段中没有显示请帮助我。

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    我认为您应该尝试将 datepicker-creating 方法放在事件中:

    beforeShowForm
    

    【讨论】:

      【解决方案2】:

      问题是某些版本的jqGrid 调用dataInit 之前 el 被放置在页面上。所以 jQuery UI Datepicker 在这种情况下不起作用。你可以通过调用datepicker来解决问题稍后

      dataInit: function (el) {
          setTimeout(function () {
              $(el).datepicker({dateFormat:'yy-mm-dd '});
          }, 50);
      }
      

      【讨论】:

      • @user2940331:什么不起作用?我无法验证 dateFormat 是否对应您使用的日期格式。你能看到日期选择器吗?您使用哪种编辑模式(不是表单编辑)?您写了“当我在网格中写入日期字段时不显示日期字段”。 保存数据有问题吗?
      • @user2940331:如果你再使用一次“紧急”这个词,我将不再为你的问题写答案。我和其他试图帮助你的人都有他自己的工作。我们试图通过花费所有者的私人时间来帮助您。让我们快点至少是不礼貌的。
      • 哦,我很抱歉
      • @user2940331:抱歉,我不明白你的意思。您写道:“它显示了日期格式”。您的意思是日期将在joinedate 列中正确显示?您写道“当我单击标签时未显示日历”。你点击哪个“标签”?你指的是哪个“日历”? 您使用哪种编辑模式?您发布的代码不包含任何编辑。 您是否致电navGrid 并通过选择网格的某行并单击导航工具栏的“编辑”按钮来使用表单编辑?你如何编辑网格?
      • 我在网格中使用 jqgrid 的 .in 时单击添加图标 一个对话框不正确显示 ..在该对话框中我给了这些字段 ..joinedate 字段未显示 dateformat 它显示标签 yy-mm-dd ,bt 不显示日历
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多