在Jquery中为什么当通过函数选择选项卡时,该选项卡的内容未加载?

时间:2013-01-17 12:10:06

标签: jquery html jquery-ui

我所追求的行为是当用户点击超链接时 - 然后启用一个标签(已禁用onload),然后刷新该标签的内容

我看到的行为是选项卡已启用然后被选中但内容未显示 - 如果我然后单击选项卡内容就在那里!怪异!

我的HTML

<div id="tabs">

    <ul>
      <li><a href="#tab1" id="addloader">Add a Loader</a></li>
      <li><a href="#tab2" id="addcsv">Add a CSV</a></li>
      <li><a href="#tab3" id="manage">Manage Loaders</a></li>
      <li><a href="#tab4" id="runLoaders">Run Loaders</a></li>
      <li><a href="#tab5" id="addChartSql">Add Chart SQL</a></li>
      <li><a href="#tab6" id="manageChartSql">Manage Chart SQL</a></li>
      <li><a href="#tab7" id="editSql">Edit Chart SQL</a></li>
    </ul>

.......

      <div id="tab7" class="tab_content">
          <strong>Edit Chart SQL</strong>
          <div id="editChartSqlData"></div>
      </div>

的jQuery

       $(function() {

         $("#tabs").tabs({disabled: [6]});
      });

  function editsql(id) {

$("#tabs").tabs("enable", 6);
$('#tabs').tabs({ selected: 6 }); 


var editid = ('id='+ id);

    $.ajax({
    type: "GET",
    url: "editChartSql.php",
    data: editid,
    success: function(server_response){
    $('#editChartSqlData').html(server_response);
  }
    });

return false;
}

如何让该内容显示在已启用的标签中?

更新:

1)用户点击修改

User Clicks Edit

2)选项卡已启用且已集中

Tab is enabled and focused

3)当用户点击标签时,它会显示内容

When the user then clicks the tab it shows the content

3 个答案:

答案 0 :(得分:0)

用于ajax呼叫使用

$.ajax({
    type: "GET",
    url: "editChartSql.php",
    async: false,
    data: editid,
    success: function(server_response){
    $('#editChartSqlData').html(server_response);
  }
    });

答案 1 :(得分:0)

我认为您要启用当前加载的标签

 $(function() {

         $("#tabs").tabs({disabled: [6]});
      });

  function editsql(id) {

$("#tabs").tabs("enable", 6);
$('#tabs').tabs({ selected: 6 }); 


var editid = ('id='+ id);

    $.ajax({
    type: "GET",
    url: "editChartSql.php",
    data: editid,
    success: function(server_response){
    $('#editChartSqlData').html(server_response);
     $("#tabs").tabs("enable", editid);
  $('#tabs').tabs({ selected: editid }); 
  }
    });

return false;
}

答案 2 :(得分:0)

它可能非常简单,就像响应是无效的HTML一样。执行console.log或console.dir并检查从服务器返回的内容。

success: function(server_response){
   console.dir(server_response);
...
相关问题