2012-07-20 1 views
0

레코드를 클릭하면 데이터가 가득 찬 테이블이 있습니다. jquery ajax 함수가 호출되어 해당 레코드에 대한 자세한 정보를 가져 와서 레코드와 연결된 div에 표시합니다.Jquery Ajax를 사용한 아코디언 표시

이제 아코디언으로 표시하고 싶습니다.

는 대부분의 시간 JQuery와 아코디언이

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

처럼 작동하지만, 여기에 난 내 사업부는 다음 아코디언 메소드가 호출되는 데이터를 먼저 채워 가져옵니다합니다. 왜냐하면 아코디언()이 처음 호출되면 아코디언을 표시 할 데이터가 없기 때문에 데이터 요청이 아직 처리 중이기 때문입니다.

내 JQuery와 아약스 방법이 내가 그것을 작동하게하는 방법을 내 코드

 @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> 
     } 

인이

$(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; 
      }); 

     }); 
    }); 

같다. 첫 번째 데이터 다음 아코디언.

답변

1

.load의 성공에 따라 아코디언을 설정하십시오.

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

이것은 별 문제가되지 않습니다. 내 질문을 전체 코드로 업데이트했습니다. 친절하게 내가 무엇을 놓치고 있는지 안내 해준다. –

+0

ID는 고유해야합니다. 그것을 클래스 네임으로 변경하고'$ (". accordion") ...을 사용하십시오. –

+0

나는 당신을 얻지 못합니다. 좀 더 정교하고 코드를 좀 알려주시겠습니까? 그게 큰 도움이 될거야. –