0

いずれかのレコードをクリックすると、データでいっぱいのテーブルがあります。jquery ajax関数が呼び出され、そのレコードの詳細情報を取得して、レコードに関連付けられたdivに表示します。

今、私はそれをアコーディオンで示したいと思います。

ほとんどの場合、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>
        }

どうすればうまくいくのでしょうか。最初のデータ、次にアコーディオン。

4

1 に答える 1

1

の成功でアコーディオンをセットアップします.load

.load(url,function(){
    $("#accordion").accordion();
})
于 2012-07-20T17:45:11.327 に答える