2012-03-16 24 views
5

Tôi đang xây dựng một trang hiển thị các dự án khách hàng của tôi. Trong cơ sở dữ liệu, mỗi bản ghi dự án có một cờ boolean cho biết danh mục và lớp mà các dự án thuộc về.Tạo mảng javascript của truy vấn ColdFusion để sử dụng với chức năng ajax

Danh mục dự án; planning, landscape, environmental. Và các lớp học; industrial, government, education, residential.

Khi người dùng muốn xem dự án "Quy hoạch" cho một ứng dụng "công nghiệp", tôi truy vấn cơ sở dữ liệu phù hợp sử dụng các thông số URL khi tải trang:

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

.. và hiển thị các dự án đầu tiên trong kết quả được đặt trên trang.

Đây là nơi tôi cần một số giúp đỡ

Trên màn hình hiển thị dự án có liên kết đến các lớp khác. Ngoài ra, nếu các dự án khác trong danh mục/lớp đã chọn tồn tại, có một liên kết cho biết "Một trong ba - xem dự án tiếp theo" nếu truy vấn trả về nhiều dự án trong danh mục planning nằm trong lớp industrial. Tôi muốn sử dụng chức năng ajax để tải một dự án khác vào trang khi người dùng nhấp vào bất kỳ liên kết nào nói trên qua số .load() hoặc .ajax(). Làm cách nào để lưu trữ ID dự án được trả về từ truy vấn theo lớp để tôi có thể truy cập nó sau đó bằng cuộc gọi ajax qua các liên kết trên trang?

Tôi quen thuộc với phần javascript/jQuery ajax của công việc - không có vấn đề ở đó. Tôi chỉ không chắc chắn làm thế nào để lưu trữ các thông tin trên trang để truy cập nó.

+2

Bạn nên cung cấp mẫu mã hơn. Tôi rất muốn giúp bạn. –

+0

Tôi nghĩ rằng tôi cần phải xóa điều này bởi vì tôi sẽ đi theo một hướng khác. Tôi không nghĩ rằng một mảng hoàn toàn javascript là một giải pháp cũng nghĩ ra. Tôi cần tìm ra cách tạo các mảng trong ứng dụng ColdFusion hoặc phạm vi phiên của tôi và truy cập chúng theo cách đó ... – Ofeargall

+0

Không xóa câu hỏi hoặc câu trả lời hoặc nhận xét. Chỉ cần giải thích tại sao bạn chọn đi một con đường khác, nếu đó là những gì bạn chọn làm. –

Trả lời

1

Thật khó để nói chính xác bạn cần truyền dữ liệu nào mà không cần thêm mã từ bạn. Tôi xin gợi ý xuất ra liên kết của bạn và sử dụng dữ liệu vĩ mô như thế này:

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

Để truy cập này, bạn chỉ cần làm điều này:

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

Tôi sẽ sớm nhận được mẫu mã. Tôi nghĩ rằng bạn đã cho tôi đi đúng hướng mặc dù .. – Ofeargall

+0

Bạn nên sử dụng degredation duyên dáng. Nếu người dùng không bật Javascript (hoặc đang sử dụng một cái gì đó như Noscript), bạn không muốn trang của bạn hoàn toàn bị phá vỡ. Chỉ cần điền vào href vào một trang thực tế hiển thị thông tin, nhưng thêm một trình xử lý nhấp chuột ghi đè hành động nhấp chuột để thực hiện tải Ajax. – Josh

Các vấn đề liên quan