JQGrid /在“添加/编辑”窗口中选择日期

时间:2009-08-07 18:31:51

标签: javascript jquery jqgrid datepicker jqmodal

我在编辑内联时能够将日期选择器工作到JQGrid,但是我无法在添加/编辑窗口中使用它。有没有人有关于如何做到这一点的说明或我可以看到的例子?

该网站上我正在尝试做的演示:http://www.the-di-lab.com/demo/apples

我读到我可以使用以下方法但不确定如何集成它:

dataInit : function (elem) {
$(elem).datepicker();
}

3 个答案:

答案 0 :(得分:15)

添加datepicker是一项简单的任务:

colModel: [
  ... other column definitions ...
  {
    name:'my_date', index:'my_date', label: 'Date', width: 80,
    editable: true, edittype: 'text',
    editoptions: {
      size: 10, maxlengh: 10,
      dataInit: function(element) {
        $(element).datepicker({dateFormat: 'yy.mm.dd'})
      }
    }
  },
  ... other column definitions ...
]

当然,您可以使用任何插件,例如colorpicker或自动填充,而不是.datepicker

答案 1 :(得分:3)

看起来他们正在使用'afterShowForm'将日期/颜色选择器附加到div。
(查看来源)

jQuery("#list").navGrid("#pager",{edit:true,add:true,del:true},
                     {width:400,height:400,closeAfterEdit:true,
            afterShowForm:function(){   $("#jsrs").load("/demo/apples/jsrs"); },
            onclickSubmit:function() {  $("#jsrs").empty(); }
},

(查看来源)

http://www.the-di-lab.com/demo/apples/jsrs

//Js for colorPicker
$('#color').ColorPicker({
    onSubmit: function(hsb, hex, rgb) {
        $('#color').val("#"+hex);
    },
    onBeforeShow: function () {
        $(this).ColorPickerSetColor(this.value);
    }
}).bind('keyup', function(){
    $(this).ColorPickerSetColor(this.value);
});


//Js for datePicker
$('#date').DatePicker({
    format:'Y-m-d',
    date: $('#date').val(),
    current: $('#date').val(),
    starts: 1,
    position: 'bottom',
    onBeforeShow: function(){
        $('#date').DatePickerSetDate($('#date').val(), true);
    },
    onChange: function(formated, dates){
        $('#date').val(formated);
    }
    });

感谢您找到这个例子,我也在寻找如何做到这一点。

答案 2 :(得分:1)

使用此代码添加datepicker以创建/编辑对话框:

.navGrid('#yourID',
                { edit: true, add: true, del: true, search: true }, //options
                {
                    ...  
                    onInitializeForm: function() {
                       $('#yourDate').datepicker(); 
                     },
                    onClose: function() {
                       //if you close dialog when the datepicker is shown
                       $('.hasDatepicker').datepicker("hide")
                    }
                },
                ...