いずれかのレコードをクリックすると、データでいっぱいのテーブルがあります。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>
}
どうすればうまくいくのでしょうか。最初のデータ、次にアコーディオン。