いくつかのデータベース テーブルの結果を保持する一連の json データを反復処理しています。他のデータの中には、RateTable ...erm... テーブルと Resources テーブルがあります。RateTable には、Resources レコードにリンクする ResourceId というプロパティ名があります。
そのため、RateTable を反復処理しています。Resource レコードを参照し、それを独自の変数にコピーして使用する必要があります。これが私がこれまでに持っているものです:
if (data)
{
var rs = data.Resources;
$.each(data.RateTables, function(i,item){
if (item.RateTableTypeId == 91)
{
var r = getresource(item.SupplierResourceId, rs)
if (r)
customer_options += '<option value="' + r.ResourceId + '">' + r.Name + '<\/option>';
}
else if (item.RateTableTypeId == 92)
{
var r = getresource(item.CustomerResourceId, rs)
if (r)
supplier_options += '<option value="' + r.ResourceId + '">' + r.Name + '<\/option>';
}
});
$(".ddl-customer").html(customer_options);
$(".ddl-supplier").html(supplier_options);
}
function getresource(id, items)
{
$.each(items, function(i,item){
if (item.ResourceId == id)
return $.extend(true, {}, item);
});
}
問題は、getresource がリソース アイテムのコピーを変数 r に返さないことです。なんで?
申し訳ありませんが、json データの一部を投稿できません。これは非常に大きいため、参照をクライアント側に任せて、データ ペイロードを削減しています。私がやろうとしていることを誰かが理解するのに十分な情報があることを願っています。
ロイド