单击选项卡时如何重新加载jtable内容

时间:2013-09-09 06:16:26

标签: jquery jquery-tabs jquery-jtable

我正在使用jtable jquery插件,并使所有内容都适用于给定的选项卡。但是当我点击另一个标签时,似乎jquery或jtable缓存了它发送到服务器的URL,因此它得到相同的响应。

我正在尝试将动态tabId传递给URL,因此它会为该给定标签加载适当的内容。但它会不断发送点击的第一个标签。

使用如下所示的代码,当我点击Tab1时,我希望它点击url比较/ tab1,当我点击tab2时,我想看到url比较/ tab2。但是,如果它继续发送比较/ tab1(查看调试chrome中的网络和服务器上的访问日志)。当我将警报放入点击功能时,tabId会正确显示。

<div id="myTab">
     <ul>    
       <li><a id="tab1" class="tab" href="#dataTable">Tab1</a></li>
       <li><a id="tab2" class="tab" href="#dataTable">Tab2</a></li>
       <li><a id="tab3" class="tab" href="#dataTable">Tab3</a></li>
     </ul>
     <div id="dataTable"></div>
 </div>

使用Javascript:

 $(".tab").on("click", function(event) {
      var tabId = $(this).attr("id");

      $('#dataTable').jtable({
                  title: 'My Table',
                  actions: {
                      listAction: 'comparison/' + tabId
                  },
                  fields: {
                      column1: {
                          key: true,
                          list: true,
                          title: 'Name'
                      },
                      column2: {
                          title: 'Column1',
                          width: '30%'
                      },
                      column3: {
                          title: 'Column2',
                          width: '20%'
                      },
                      column4: {
                          title: 'Column3',
                          width: '30%'
                      }
                  }

              });

            $('#dataTable').jtable('load');
   });

真的很感激任何帮助。

此致 锡

1 个答案:

答案 0 :(得分:0)

如果您认为在尝试全局禁用缓存时这是一个jquery缓存问题

jQuery.ajaxSetup({
        // Disable caching of AJAX responses 
        cache: false
    });