ネストされたデータにアクセスして、ドロップダウン メニューに動的に追加する必要があります。Jquery モバイル Web アプリは、使用シナリオです。そのため、ajax 呼び出しは php に対して curl を実行し、json を Web アプリに返してデータを分解します。
オブジェクトの例を次に示します (注: php でデコードされた後、再コード化されます)
[rates] => Array
(
[0] => stdClass Object
(
[type] => rate
[categoryID] =>
[duration] => PT60M
[cost] => 5.00
[recordID] => PT60M|59
[summary] => $5 for the first 60 minutes, then $5 for each additional 60 minutes
[summaryColumns] => Array
(
[0] => stdClass Object
(
[type] => rateSummaryColumn
[text] => $5.00
[align] => right
[lines] => 1
)
[1] => stdClass Object
(
[type] => rateSummaryColumn
[text] => 60 minutes
[align] => right
[lines] => 1
)
)
)
[1] => stdClass Object
(
[type] => rate
[categoryID] =>
[duration] => PT120M
[cost] => 10.00
[recordID] => PT120M|59
[summary] => $10 for the first 2 hours, then $5 for each additional 60 minutes
[summaryColumns] => Array
(
[0] => stdClass Object
(
[type] => rateSummaryColumn
[text] => $10.00
[align] => right
[lines] => 1
)
[1] => stdClass Object
(
[type] => rateSummaryColumn
[text] => 2 hours
[align] => right
[lines] => 1
)
)
)
[2] => stdClass Object
(
[type] => rate
[categoryID] =>
[duration] => PT180M
[cost] => 15.00
[recordID] => PT180M|59
[summary] => $15 for the first 3 hours, then $5 for each additional 60 minutes
[summaryColumns] => Array
(
[0] => stdClass Object
(
[type] => rateSummaryColumn
[text] => $15.00
[align] => right
[lines] => 1
)
[1] => stdClass Object
(
[type] => rateSummaryColumn
[text] => 3 hours
[align] => right
[lines] => 1
)
)
)
概要列からテキストにアクセスし、rates[0].summaryColumns[0].text + rates[0]summaryColumns[1].text の [text] をドロップダウン リストに追加する必要があります。各テキストをオプションとして追加する each ステートメントがありますが、そのうちの 2 つをグループ化する必要があるため、書き直す必要があります。
var _rate = result.rates;
$.each(_rate, function(i, vDetails) {
var vRate = (vDetails.summaryColumns);
$.each(vRate, function(i2, vHandle){
//console.log(vHandle.text);
$('#rates').append($('<option/>').attr("value", vHandle.text).text(vHandle.text));
});
});
できれば提案してください - ありがとう。