jQuery选项卡式Ajax内容

时间:2012-04-10 20:37:42

标签: php ajax codeigniter

因此,我需要使用查询制作3个选项卡(将此部分放下),但每个选项卡都需要通过Ajax请求检索可过滤的数据。基本上,页面设置为左侧有一个静态div,其中包含过滤器,然后在右侧,标签会根据您选择的那个而变化。

我只是想知道抓取ajax内容并将其放入每个标签的最佳方法是什么?

我希望我明白我的问题。

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,这应该非常简单。例如,假设您要检索静态网页,只需将该网页的所有内容插入到容器div中即可...

$('#tab1').click(function(){
    //Fetch a webpage (via GET) and load into 'result'
    $.get('/path/to/stuff.htm',function(result){
        //Replace content of container with result
        $('#containerDiv').html(result);
    });
});

真的那么简单。如果您需要一段结果(例如从XMLRPC请求中提取CDATA),那么您只需将结果作为jQuery对象加载,找到该元素,然后加载...就像所以...

$('#tab1').click(function(){
    //Fetch a webpage (via GET) and load into 'result'
    $.get('/path/to/stuff.htm',function(result){
        //Make result a jQuery obj
        result = $(result);
        //Replace content of container with result
        $('#containerDiv').html(result.find('mycdata').text());
    });
});

我还应该注意 - 如果你有一个包含在CDATA中的XML结果,即使你把它作为html插入,也要把它读作.text()。如果结果未包装在CDATA中,请将其读作.html()。

更新: 如果您需要向服务器发送额外数据(例如对ASC或DESC进行排序),您可能会这样做......

$('#tab1').click(function(){
    //Fetch a webpage (via GET) and load into 'result'
    $.get(
        '/path/to/service', 
        { sort:'ASC', startDate:'2012-04-01', endDate:'2012-04-08'}, 
        function(result){
            //Replace content of container with result
            $('#containerDiv').html(result);
        }
    );
});