如何使用jqGrid高级搜索/ W Serverside PHP?

时间:2010-01-07 16:23:49

标签: php javascript jquery jqgrid

我一直在玩jqGrid,但无法解决如何实现搜索功能。理想情况下,我想使用“高级搜索” - 我想当用户提交高级搜索表单时,输入的数据会被激活到“editurl”下指定的网址?我猜这个URL然后输出使用搜索条件过滤的结果集。

我的问题是这是如何实际完成的?我是否正确将URL数据发送给,如果是,那么如何访问这些数据?

我在jQuery方面还算不错,而且擅长Javascript-我使用PHP来处理所有服务器端的东西(专家知识和mySQL)但是我的生活似乎无法解决这个问题...目前我的Java是:

var lastsel; 
$("#list").jqGrid({
    url:'example.php',
    datatype: 'xml',
    hidegrid: false,
    mtype: 'GET',
    colNames:['id','ti', 'na','al','de'],
    colModel :[ 
        {name:'id', index:'id', width:55, hidden:true, key:true, resizable:true}, 
        {name:'ti', index:'ti', width:75, resizable:true,editable:true}, 
        {name:'na', index:'na', width:200, align:'left', resizable:true,editable:true}, 
        {name:'al', index:'al', width:200, align:'left', resizable:true,editable:true}, 
        {name:'de', index:'de', width:400, align:'left', sortable:false, resizable:true,editable:true}
    ],
    pager: '#pager',
    height:'100%',
    rowNum:10,
    searchGrid: {multipleSearch:true, caption : 'go'},
    rowList:[50,100,200],
    sortname: 'ticker',
    sortorder: 'asc',
    viewrecords: true,
    editurl:'example.php',
    multipleSearch:true,
    caption: 'Definitions'
}); 



所有人都非常感谢!

3 个答案:

答案 0 :(得分:1)

我不知道你是否在任何地方找到了你的答案,但我只是这样做了,我可以帮助你一点。

他们传递一个名为filters的参数。是json ...你必须将它作为请求接收并将其转换为数组。

我使用php,所以我使用了一个名为json_decode的函数($ yourvar,true)。它将过滤器转换为数组。该数组更易于操作。

答案 1 :(得分:0)

正如您所说,网址包含搜索信息。

但是搜索不是在客户端进行的,你必须在服务器端实现它。

您发布的代码不是Java,而是JavaScript。

答案 2 :(得分:0)

我只是想自己学习,但我建议您查看他们的PHP搜索演示: http://www.trirand.com/blog/jqgrid/jqgrid.html

在左侧,打开手风琴选项卡,然后转到实时数据操作,然后单击“搜索数据”。您将看到实例和代码。此特定示例使用XML而不是JSON。

在他们的例子中,我不明白他们如何将搜索变量传递给php代码:它只是发生了。如果是json,我知道它会在URL中。

在任何情况下,我都可以看到数据以与普通网格填充方法相同的方式返回到HTML页面:它使用XML格式返回到jqGrid,jqGrid知道如何以该格式获取数据与它一起运行。

希望有所帮助。