2012-03-16 64 views
5

我正在构建一个显示我的客户项目的页面。在数据库中,每个项目记录都有一个布尔标志,表示项目属于哪个类别和类别。创建用于Ajax函数的ColdFusion查询的javascript数组

项目类别; planning,landscape,environmental。和课程; industrialgovernmenteducationresidential

当用户希望看到“规划”项目的“工业”应用程序,我查询相应数据库中使用URL参数在页面加载时:

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

..并显示在第一个项目结果集在页面上。

这里就是我需要一些帮助

以上项目显示有链接到其他类。此外,如果存在所选类别/类别中的其他项目,则如果查询返回industrial类别中的planning类别中的更多项目,则会有一个链接显示“三分之一 - 请参阅下一个项目”。当用户通过​​或.ajax()单击任何上述链接时,我想使用ajax函数将另一个项目加载到页面中。如何存储从类查询返回的项目ID,以便稍后可以通过页面上的链接使用ajax调用来访问它?

我熟悉javascript/jQuery ajax工作的一部分 - 没有问题。我只是不确定如何将信息存储在页面上以访问它。

+2

你应该提供更多的代码示例。我很乐意帮助你。 – 2012-03-16 18:11:10

+0

我想我需要删除这个,因为我要去一个不同的方向。我不认为完全的JavaScript阵列是一个深思熟虑的解决方案。我需要弄清楚如何在我的ColdFusion应用程序或会话范围中创建数组,并以这种方式访问​​它们... – Ofeargall 2012-03-23 20:12:59

+0

不要删除问题或答案或评论。只要解释为什么你选择了不同的路线,如果这是你选择做的。 – 2012-03-23 20:34:37

回答

1

很难准确地告诉你需要传递哪些数据,而无需使用更多的代码。我会建议你输出链接和使用微这样的:

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

要访问此,你只是这样做:

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

我会很快得到一个代码示例。我认为你已经让我走上了正轨。 – Ofeargall 2012-03-16 18:47:50

+0

你应该使用优雅的降级。如果用户没有启用Javascript(或正在使用诸如Noscript之类的东西),则不希望页面完全中断。只需将href填写到显示信息的实际页面上,但添加了一个单击处理程序来覆盖单击操作以执行Ajax加载。 – Josh 2012-03-20 00:29:50