2012-07-20 113 views
0

我有一张桌子上充满了数据,点击任何记录。调用jquery ajax函数,获取该记录的详细信息,并将其显示在与记录关联的div中。使用Jquery Ajax显示手风琴

现在我想用手风琴来展示它。

大多数时间一个jQuery的手风琴是这样的

$(document).ready(function() { 
    $('#accordion').accordion(); 
}); 

但在这里,我想,我的div被填充先用数据,那么手风琴方法被调用。因为如果首先调用accordion(),那么由于数据请求仍在处理中,所以没有什么东西可以显示手风琴。

我的jQuery AJAX方法是这样的

$(function() { 
     $("span.Consignment").click(function() { 
      var position = 'div#' + this.innerHTML; 
      var url = "/Tracking/TrackingConsignment?consno=" + this.innerHTML; 
      $(position).load(url, function() { 
       $("a.Consignment").accordion(); 
       return false; 
      }); 

     }); 
    }); 

这是我的代码

 @foreach (var lst in item.Item2) 
     { 
      <a href="#" class="Consignment"> 
       <table class="gridtable"> 
        <a href="#"> 
         <tr> 
          <td>         
           <span class="Consignment" href="#">@lst.ConsignmentNo</span> 
          </td> 
          <td>@lst.ConsignmentDate 
          </td> 
         </tr> 
        </a> 
       </table> 
      </a> 

      <div id="@lst.ConsignmentNo"> 
      </div> 
     } 

我应该如何使其发挥作用。首先数据然后是手风琴。

回答

1

.load成功设置手风琴。

.load(url,function(){ 
    $("#accordion").accordion(); 
}) 
+0

这不是炒锅。我用完整的代码更新了我的问题。请引导我,我失去了一些东西。 – 2012-07-20 18:43:35

+0

ID必须是唯一的。将其改为类名并使用'$(“。accordion”)...' – 2012-07-20 18:56:25

+0

我不明白你的意思。请您详细说明一下并给我一些代码。这将是一个很大的帮助。 – 2012-07-20 19:00:57