2009-08-07 11 views
6

He podido trabajar el Selector de fechas en JQGrid al editar en línea, pero no puedo usarlo dentro de la ventana de agregar/editar. ¿Alguien tiene instrucciones sobre cómo hacer esto o un ejemplo que pueda ver?JQGrid/Fecha seleccionada en la ventana Agregar/Editar

demostración de ese sitio de lo que estoy tratando de hacer: http://www.the-di-lab.com/demo/apples

leí que podría utilizar el siguiente método, pero no está seguro de cómo integrarlo:

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

Lo principal es establecer z-index para selector de fechas. Ver [esto] [1]. [1]: http://stackoverflow.com/questions/715677/trouble-with-jquery-dialog-and-datepicker-plugins/715695#715695 –

Respuesta

3

Parece como si estuvieran usando 'afterShowForm' para adjuntar un selector de fecha/color a un div.
(ver fuente)

 
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(); } 
}, 

(ver fuente)

 
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); 
    } 
    }); 

Gracias por encontrar este ejemplo, yo estaba buscando la manera de hacer esto también.

+0

Gracias, que está llegando lentamente en conjunto, la El código jsrs se activa cuando se abre la ventana, pero acabo de obtener el "$ (" # cita "). DatePicker no es una función" (Cambié las instancias de #date a #appointment ya que ese es el id del campo deseado) Todas las secuencias de comandos necesarias/ui están ahí para que funcione fuera de la ventana emergente, ¿Hay algo que deba hacer que pueda estar perdiendo? ¡¡Gracias!! – kilrizzy

+0

¡Oh, solo necesitaba "datepicker" en lugar de "DatePicker" GRACIAS! – kilrizzy

15

Adición planificador de evento es una tarea fácil:

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 ... 
] 

De couse, en lugar de .datepicker se puede utilizar cualquier plug-in como colorpicker o autocompletar.

+0

-1, Tiene varios errores allí ... y ese código no parece funcionar incluso después de corregir los errores – Fragsworth

+0

+1, Gracias por señalar 'editoptions.dataInit'; esa era la pieza que faltaba para hacer funcionar mi edición en línea. –

+0

Brillante. ¡Funciona para mi! – AnonyMouse

1

Use este código para agregar selector de fechas de diálogo para crear/editar:

.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") 
        } 
       }, 
       ... 
+0

Esto funciona muy bien – Cruachan

Cuestiones relacionadas