2012-03-16 20 views
5

Estoy construyendo una página que muestra los proyectos de mis clientes. En la base de datos, cada registro de proyecto tiene un indicador booleano que indica a qué categoría y clase pertenecen los proyectos.Crear una matriz de javascript de la consulta ColdFusion para usar con la función ajax

Las categorías de proyectos; planning, landscape, environmental. Y las clases; industrial, government, education, residential.

Cuando el usuario quiere ver los proyectos de "planificación" para una aplicación "industrial", que consultar la base de acuerdo con el uso de parámetros de URL cuando la página carga:

SELECT project_id, name, location, description, planning, landscape 
     , environment, industrial, government, education, residential 
FROM projects 
WHERE planning = 1 and 
     industrial = 1 

.. y para exhibir el primer proyecto en el resultado establecido en la página.

Aquí es donde necesito ayuda

Sobre la visualización del proyecto hay enlaces a las otras clases. Además, si existen otros proyectos en la categoría/clase seleccionada, hay un enlace que dice "Uno de tres: vea el próximo proyecto" si la consulta devuelve más proyectos en la categoría planning que están en la clase industrial. Quiero utilizar una función ajax para cargar otro proyecto en la página cuando un usuario haga clic en cualquiera de los enlaces mencionados anteriormente a través de .load() o .ajax(). ¿Cómo puedo almacenar las ID de proyecto devueltas de la consulta por clase para que pueda acceder a ellas más tarde con la llamada ajax a través de los enlaces en la página?

Estoy familiarizado con la parte javascript/jQuery ajax del trabajo, no hay problema. No estoy seguro de cómo almacenar la información en la página para acceder a ella.

+2

Se debería dar más ejemplo de código. Me encantaría ayudarte. –

+0

Creo que necesito eliminar esto porque voy a ir en otra dirección. No creo que una matriz totalmente javascript sea una solución bien pensada. Necesito descubrir cómo crear las matrices en mi aplicación ColdFusion o el alcance de la sesión y acceder a ellas de esa manera ... – Ofeargall

+0

No elimine la pregunta, la respuesta o los comentarios. Simplemente explique por qué eligió tomar una ruta diferente, si eso es lo que elige hacer. –

Respuesta

1

Es difícil decir exactamente qué datos necesita pasar sin más código de usted. Me sugiere dar salida a sus enlaces y utilizando microdatos de esta manera:

<a data-project="#project_id#">#name#</a> 

Para acceder a esta, que acaba de hacer esto:

$("a").click(function(e) { 
    e.preventDefault(); 
    var project_id = $(this).data("project"); 
    // You could load in your new data here 
}); 
+0

Recibiré un código de muestra en breve. Creo que me has metido en el camino correcto ... – Ofeargall

+0

Debes usar una elegante graduación. Si el usuario no tiene Javascript habilitado (o está usando algo como Noscript), no desea que su página se rompa por completo. Solo complete el href a una página real que muestre la información, pero agregue un controlador de clic que anule la acción de clic para realizar una carga de Ajax. – Josh

Cuestiones relacionadas