2012-03-16 9 views
5

Buduję stronę wyświetlającą projekty moich klientów. W bazie danych każdy rekord projektu ma flagę typu boolean, wskazującą kategorię i klasę, do której należą projekty.Utwórz tablicę javascript dla zapytania ColdFusion do użycia z funkcją ajax

Kategorie projektów; planning, landscape, environmental. A zajęcia; industrial, government, education, residential.

Kiedy użytkownik chce zobaczyć projekty „Planowanie” dla „przemysłowy” aplikacji, kwerendy Odpowiednio bazy danych za pomocą parametrów URL podczas wczytywania strony:

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

.. i wyświetlić pierwszy projekt w zestaw wyników na stronie.

Oto gdzie ja potrzebuję pomocy

nad wyświetlaczem projektu znajdują się linki do innych klas. Dodatkowo, jeśli istnieją inne projekty w wybranej kategorii/klasie, istnieje odsyłacz "Jeden z trzech - zobacz następny projekt", jeśli zapytanie zwróci więcej projektów w kategorii planning, które są w klasie industrial. Chcę użyć funkcji ajax, aby załadować inny projekt na stronę, gdy użytkownik kliknie jeden z wyżej wymienionych łączy za pośrednictwem .load() lub .ajax(). Jak mogę zapisać identyfikator projektu zwrócony z zapytania przez klasę, aby móc uzyskać do niego dostęp później za pomocą wywołania ajax za pośrednictwem linków na stronie?

Jestem zaznajomiony z częścią javascript/jQuery ajax - nie ma problemu. Po prostu nie jestem pewien, jak zapisać informacje na stronie, aby uzyskać do niego dostęp.

+2

Należy dostarczyć więcej przykładowy kod. Chciałbym ci pomóc. –

+0

Myślę, że muszę to usunąć, ponieważ zmierzam w innym kierunku. Nie sądzę, że tablica w pełni javascript jest dobrze przemyślanym rozwiązaniem. Muszę wymyślić, jak utworzyć tablice w aplikacji ColdFusion lub zasięgu sesji i uzyskać do nich dostęp ... – Ofeargall

+0

Nie usuwaj pytania, odpowiedzi ani komentarzy. Po prostu wyjaśnij, dlaczego zdecydowałeś się na inną trasę, jeśli to Ty wybierasz. –

Odpowiedz

1

Trudno powiedzieć dokładnie, jakie dane trzeba przekazać bez dodatkowego kodu. Chciałbym sugerując wyprowadzanie linki i wykorzystaniem mikrodanych tak:

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

Aby to uzyskać dostęp, po prostu to zrobić:

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

Wkrótce otrzymam próbkę kodu. Myślę, że masz mnie na dobrej drodze ... – Ofeargall

+0

Powinieneś użyć zgrabnej degredacji. Jeśli użytkownik nie ma włączonej obsługi JavaScript (lub używa czegoś w rodzaju Noscript), nie chcesz, aby Twoja strona całkowicie się zepsuła. Po prostu wypełnij href do rzeczywistej strony wyświetlającej informacje, ale dodaj moduł obsługi kliknięcia, który przesłania akcję kliknięcia, aby wykonać ładowanie Ajax. – Josh

Powiązane problemy