0

ネストされたデータにアクセスして、ドロップダウン メニューに動的に追加する必要があります。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));

                        });
                    });

できれば提案してください - ありがとう。

4

1 に答える 1