Quiero poder vincular varios pares de instancias de jQuery UI datepicker para que el segundo en cada par no pueda seleccionar una fecha anterior a la primera. Estoy siguiendo this example para comenzar.Múltiples selectores de fecha jQuery UI vinculados
Ejemplo:
<ul>
<li>
<input class="counter" name="counter" type="hidden" value="43"/>
<label>Start: </label><input name="start_43" id="start_43" size="10" />
<label>End: </label><input name="end_43" id="end_43" size="10" />
</li>
<li>
<input class="counter" name="counter" type="hidden" value="44"/>
<label>Start: </label><input name="start_44" id="start_44" size="10" />
<label>End: </label><input name="end_44" id="end_44" size="10" />
</li>
</ul>
estoy bucle a través de los casos mediante la búsqueda de la "contra" número:
$(document).ready(function() {
var starts = $("input[name='counter']");
var dates = new Array();
starts.each(function(){
var x = this.value;
// http://jqueryui.com/demos/datepicker/#date-range
dates[x] = $("#start_"+x+", #end_"+x).datepicker({
onSelect: function(selectedDate) {
var option = this.id == "#start_"+x ? "minDate" : "maxDate",
instance = $(this).data("datepicker");
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings);
dates[x].not(this).datepicker("option", option, date);
}
});
});
});
Esto funciona para permitir que un planificador de evento en cada entrada, pero que no impide la segunda instancia de elegir una fecha anterior a la primera. De hecho, requiere que la segunda instancia elija una fecha anterior a la primera. Cuando se selecciona, la segunda instancia rellena ambas entradas.
¿Alguien puede ver dónde me está yendo mal?
@oleonard Para que quede claro, todo lo que tienes que hacer es cambiar la siguiente línea, eliminando el hash delante de la palabra start: var option = this.id == "start _" + x? "minDate": "maxDate" – lsuarez
¡Ah, tienes razón! No me di cuenta de que "#" se había colado. Ahora funciona correctamente. Gracias por el par de ojos extra! – oleonard
@oleonard Sé exactamente lo que quieres decir. El líder de mi equipo estuvo mirando algo durante una media hora cuando le sugerí que realmente me dejara ver si una segunda cabeza podría ayudar a revelar el problema. "No veo un alcance para esta variable. ¿Olvidaste escribir 's dot'?" ¡Problema resuelto! – lsuarez