2012-03-16 13 views
5

Sto costruendo una pagina che visualizza i progetti dei miei clienti. Nel database, ogni record del progetto ha un flag booleano che indica a quale categoria e classe appartengono i progetti.Creare un array javascript di query ColdFusion da utilizzare con la funzione ajax

Le categorie di progetti; planning, landscape, environmental. E le classi; industrial, government, education, residential.

Quando l'utente vuole vedere progetti "pianificazione" per un'applicazione "industriale", ho interrogare il database di conseguenza utilizzando parametri URL al caricamento della pagina:

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

.. e visualizzare il primo progetto nel risultato impostato sulla pagina.

Ecco dove ho bisogno di aiuto

Sopra il display del progetto ci sono i link alle altre classi. Inoltre, se esistono altri progetti nella categoria/classe selezionata, esiste un collegamento che dice "Uno dei tre - vedi il prossimo progetto" se la query restituisce più progetti nella categoria planning che si trovano nella classe industrial. Voglio utilizzare una funzione Ajax per caricare un altro progetto nella pagina quando un utente fa clic su uno dei collegamenti sopra indicati tramite .load() o .ajax(). Come posso archiviare l'ID del progetto restituito dalla query per classe in modo che possa accedervi in ​​seguito con la chiamata ajax tramite i link nella pagina?

Ho familiarità con la parte javascript/jQuery ajax del lavoro - nessun problema lì. Non sono sicuro di come memorizzare le informazioni sulla pagina per accedervi.

+2

è necessario fornire più di codice. Mi piacerebbe aiutarti. –

+0

Penso di aver bisogno di cancellare questo perché ho intenzione di andare in una direzione diversa. Non penso che un array completamente javascript sia una soluzione ben congegnata. Devo capire come creare gli array nell'applicazione ColdFusion o nella sessione e accedervi in ​​questo modo ... – Ofeargall

+0

Non eliminare la domanda o la risposta oi commenti. Spiega semplicemente perché hai scelto di percorrere una strada diversa, se è quello che scegli di fare. –

risposta

1

È difficile dire esattamente quali dati è necessario passare senza più codice da parte dell'utente. Vorrei suggerire l'output tuoi link e utilizzando microdati in questo modo:

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

Per accedere a questo, basta fare questo:

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

Prenderò un esempio di codice a breve. Penso che tu mi abbia nella giusta direzione anche se .. – Ofeargall

+0

Dovresti usare la degredation elegante. Se l'utente non ha Javascript abilitato (o usa qualcosa come Noscript), non vuoi che la tua pagina si rompa completamente. Basta compilare l'href in una pagina effettiva che visualizza le informazioni, ma aggiungere un gestore di clic che sovrascrive l'azione di clic per eseguire un caricamento Ajax. – Josh

Problemi correlati