0

我正在使用 jtable jquery 插件,并让给定选项卡的所有内容都正常工作。但是,当我单击不同的选项卡时,jquery 或 jtable 似乎缓存了它发送到服务器的 URL,因此它得到了相同的响应。

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

使用如下所示的代码,当我点击 Tab1 时,我希望它点击 url 比较/tab1,当我点击 tab2 时,我希望看到 url 比较/tab2。但是,如果它继续发送比较/tab1(查看调试 chrome 中的网络和服务器上的访问日志)。当我将警报放入 click 函数时,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');
   });

任何帮助将不胜感激。

问候锡

4

1 回答 1

0

如果您认为这是 jquery 缓存问题,请尝试全局禁用缓存

jQuery.ajaxSetup({
        // Disable caching of AJAX responses 
        cache: false
    });
于 2013-09-09T06:30:28.060 回答