如何在不重新加载页面的情况下显示查询结果?

时间:2011-10-31 23:45:56

标签: ajax codeigniter jquery codeigniter-2

我想在没有重新加载页面的情况下从我的mysql数据库中显示我的用户数据。

我正在使用Codeigniter。我有一个如下所示的下拉菜单 - 当页面加载时我希望它默认显示所有数据。但是当任何用户选择任何名称时,它将查询数据库并立即显示结果而不重新加载页面。

我已经有一个控制器,模型和视图来显示数据库中的所有数据,但我不知道如何在一个人选择一个值后获取下拉菜单,从数据库中获取数据并立即显示而不重新加载页。

我有一些PHP的基本知识,但我不知道AJAX。请问关于如何做到这一点的例子或想法?

我不希望你为我编写代码,我只想要一个例子或指南。 :)

先谢谢。

  <form>
  <select name="info">
  <option value="">Select a person:</option>
  <option value="11080101">John</option>
  <option value="11080102">Bon Jovi</option>
 </select>
 </form>  

2 个答案:

答案 0 :(得分:0)

这听起来像你想要实现的目标并不是一个与codeigniter相关的问题,而是一个HTML,JQUERY问题。

Net-tuts上的

Using jQuery To Manipulate and Filter Data显示了一个排序和过滤数据的jquery解决方案。他们的解决方案基于一个表,但是主体在那里,所以修改可以让它做你想做的事。

答案 1 :(得分:0)

好吧,我可以告诉你如何尝试它的流程

  1. 在选择下拉菜单项时触发jquery事件。如果您不知道该怎么做,请尝试阅读the documentation of jquery for using selectors
  2. 获得所选元素后,提取其值并向您的路径发送ajax调用 像这样(对于jquery ajax访问jqapi它有jquery ajax函数及其衍生物的所有文档)

    $.post('/user/data/' + id , function(response) {
        console.log(response)
    })
    

    $.post('/user/data/', 'id=' + id , function(response) {
        console.log(response)
    })
    
  3. 现在你的数据已经响应,所以你可以做任何你想做的事情