¿Alguien me puede decir cómo usar jquery-datepicker para un rango de fechas en yii? Lo tengo para trabajar en una sola fecha, ¿cómo lo modifico para obtener varias fechas? Soy nuevo en yii framework.Cómo usar jquery-datepicker para el rango de fechas
Respuesta
Siga la documentación de jQuery UI para aprender a crear el intervalo de fechas.
Después de leer los documentos de jQuery UI, debe comprender cómo funciona. Luego puede usar el widget CJuiDatePicker para generar lo que necesita.
No es difícil ajustar los widgets Yii a sus necesidades, prefiero decir que es muy simple y eficiente.
Ésta es quizá la idea de que estabas buscando:
un intervalo de fechas tiene 2 fechas, una en cada extremo
suponiendo que sabe cómo usar widget de datepicker
para recuperar una sola fecha del usuario, el enfoque más simple sería simplemente crear una instancia de 2 fechadores en su vista y usar las 2 fechas enviadas a su controlador como los bordes del rango de fechas en su modelo.
Pruebe esto, por ejemplo:
<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model, 'attribute'=>'birthday',
'options'=>array(
'dateFormat'=>'yy-mm-dd',
'yearRange'=>'-70:+0',
'changeYear'=>'true',
'changeMonth'=>'true',
),
)); ?>
'options'=>array(
'showAnim'=>'fold',
'dateFormat'=>'yy-mm-dd',
'changeMonth'=>true,
'changeYear'=>true,
'yearRange'=>'-100:+0',
'defaultDate'=>'+0'
),
no he encontrado la solución a hacerlo con CJuiDatePicker. En su lugar, he utilizado la siguiente en mi archivo de vista:
<?php
Yii::app()->getClientScript()->registerCoreScript('jquery.ui');
Yii::app()->clientScript->registerCssFile(
Yii::app()->clientScript->getCoreScriptUrl().
'/jui/css/base/jquery-ui.css'
);
Yii::app()->clientScript->registerScript('daterangescript',"
var dates = $('#ReportForm_date_start, #ReportForm_date_end').datepicker({
defaultDate: '+1w',
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
onSelect: function(selectedDate) {
var option = this.id == 'ReportForm_date_start' ? 'minDate' : 'maxDate',
instance = $(this).data('datepicker');
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings);
dates.not(this).datepicker('option', option, date);
}
});
$('#ReportForm_date_start, #ReportForm_date_end').datepicker('option', 'dateFormat', 'yy-mm-dd');
",CClientScript::POS_READY);
?>
No se olvide de reemplazar ReportForm_date_start
y ReportForm_date_end
a sus propios identificadores de elemento.
puede agregar 'yearRange' en la opción. puede completarlo con 'fecha de inicio: fecha de finalización', ejemplo 'yearRange' => '2008: 2018', o, cuántos años antes y después de este año, escriba el código usando - y +, ejemplo 'yearRange '=>' - 8: +8 ', significa que 8 años antes de este año y 8 años después de este año.
Yii CJuiDatePicker: Rango de fechas
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker',array(
'name'=>'datepicker-min-max',
'value'=>date('d-m-Y'),
'options'=>array(
'showButtonPanel'=>true,
'minDate'=>-5,
'maxDate'=>"+1M +5D",
),
'htmlOptions'=>array(
'style'=>''
),
));
?>
From: <input type="text" name="date_from" id="date_from" />
To: <input type="text" name="date_to" id="date_to" />
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'name' => 'date_from',
// additional javascript options for the date picker plugin
'options' => array(
'showAnim' => "slideDown",
'changeMonth' => true,
'numberOfMonths' => 1,
'showOn' => "button",
'buttonImageOnly' => false,
'dateFormat' => "yy-mm-dd",
'showButtonPanel' => true,
'onClose' => 'js:function(selectedDate) { $("#date_to").datepicker("option", "minDate", selectedDate); }',
)
));
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'name' => 'date_to',
// additional javascript options for the date picker plugin
'options' => array(
'showAnim' => "slideDown",
'changeMonth' => true,
'numberOfMonths' => 1,
'showOn' => "button",
'buttonImageOnly' => false,
'dateFormat' => "yy-mm-dd",
'showButtonPanel' => true,
'onClose' => 'js:function(selectedDate) { $("#date_from").datepicker("option", "maxDate", selectedDate); }',
)
));
?>
- 1. oráculo rango de fechas
- 2. determinar si el rango de fechas se encuentra entre otro rango de fechas - sql
- 3. Crear un rango de fechas
- 4. jQuery Validate (Rango de fechas)
- 5. SQL Rango de fechas dividido
- 6. Buscar fechas faltantes para un rango determinado
- 7. ¿Cómo iterar por el rango de Fechas en Java?
- 8. deshabilitar el rango de fechas en el calendario de Joomla
- 9. selector de rango de fechas similar al selector de rango de fechas de Google Analytics?
- 10. Rango de fechas en una matriz, ruby
- 11. Java: Rango de fechas mín. Y máx.
- 12. Crear rango de fechas de mysql
- 13. algoritmo reto: rango de fechas fusión
- 14. Cómo convertir o consultar correctamente el rango de fechas para Rails/MySQL DateTime Columna
- 15. Consultar el rango de fechas en los raíles
- 16. ¿Cómo determinar si un rango de fechas ocurre en cualquier momento dentro de otro rango de fechas?
- 17. Cómo iterar en un rango de fechas en PL/SQL
- 18. mysql seleccione las fechas en el rango de 30 días
- 19. ¿Cómo consultas por fecha y rango de fechas en Mongo
- 20. Fecha Rango Superposición con anulable Fechas
- 21. Resalte las fechas en un rango específico con el marcador de fechas de jQuery
- 22. ¿Qué rango de fechas están permitidas en Javascript?
- 23. ¿Rango válido para java.util.Date?
- 24. ¿Cómo insertar 1000 fechas aleatorias entre un rango determinado?
- 25. Buscando un buen selector de rango de fechas. ¿Alguna sugerencia?
- 26. Usar strtotime para fechas anteriores a 1970
- 27. Generador de rango de fechas de Python durante días hábiles
- 28. Grupo por rango de fechas en semanas/meses de intervalo
- 29. Generación de un informe por rango de fechas en raíles
- 30. ¿Debo usar Calendar.compareTo() para comparar fechas?
dar alguna explicación/general en su código. Esto es solo un montón de código – kolossus
¿Qué significa esto más allá de la respuesta de @ jamband? – Edward