Tengo una confusión fundamental acerca de cómo jQuery, y probablemente el trabajo de JavaScript. Sigo teniendo el mismo problema, cómo pasar los parámetros a las funciones de jQuery para que sus métodos a su vez puedan llamar a las funciones que usan esas variables. Aquí está mi ejemplo más reciente:Cómo usar el diálogo jQuery con fullcalendar ¿seleccionar devolución de llamada?
Estoy usando el plugin fullcalendar. Si hago clic en el calendario, se activa un método de devolución de llamada 'seleccionar'. La devolución de llamada selectiva recibe automáticamente ciertos parámetros: 'startDate' 'endDate', etc. Lo que quiero es abrir un cuadro de diálogo jQuery para recopilar información adicional y luego publicar el nuevo evento en el servidor. A lo largo de las líneas de este:
$('calendar').fullcalendar({
...
select: function (startDate, endDate) {
$('#newEventPopup').dialog('open');
en el html tengo algo como esto:
<div title = 'How cool is this event?' id='newEventPopup'>
<select id='coolness'>
<option value = 'super'>Super!</option>
<option value = 'cool'>Cool</option>
<option value = 'dorky'>Dorky</option>
<option value = 'lame'>Lame!</option>
</select>
</div>
por último, me gustaría añadir un botón al cuadro de diálogo para publicar las variables fullcalendar así como la nueva variable con el servidor:
var coolness = $('#coolness');
$('#newEventPopup').dialog({
modal: true,
autoOpen: false,
...
button: {
Save : function(){
$.ajax({
url: 'sample.php'
type: 'POST'
data: {
'start' : startDate,
'end' : endDate,
'coolness' : coolness
}
success: $('calendar').fullCalendar('refetchEvents')
}
}
}
});
simplemente no entiendo cómo construir esto, o dónde colocar el código para que el cuadro de diálogo 'Guardar' botón 'sabe' lo que las variables 'startDate' 'endDate' y 'coolness 'todo significa. Debo mencionar que originalmente soy un programador de Java, y todavía estoy luchando con el alcance variable basado en funciones de JavaScript.
He tenido este problema con muchos de esos métodos jQuery donde quiero que un método apunte a alguna función externa (como el método select callback invocando $ .dialog) que a su vez ejecuta otro método (como el método callback de invocación la función $ .ajax), pero ¿cómo se pasan los parámetros a $ .ajax o $ .dialog para que sus propios métodos puedan usar esos valores?
Gracias,
Gracias. Eso no respondió completamente mi pregunta, pero sí me dirigió en la dirección correcta. Los parámetros seleccionados en su ejemplo se asignan a los campos de entrada y luego se ignoran en el diálogo real. Sin embargo, eso provocó la idea de utilizar campos de entrada ocultos para almacenar temporalmente estos valores de una manera que cualquier función jQuery podría acceder. Gracias. – MyTimeFinder