0

サーバーからjsonファイルを取得し、その要素がページにある場合はレンダリングするコードがあります。このコードでは、キー「ポイント」の値が重複しているアイテムもスキップします。私の質問は、これらのスキップされたアイテムをどこかに保存するようにするにはどうすればよいですか?重複しているアイテムをクリックすると、これらの重複のリストがある他のページにリンクされますか?これが私のコードです

var request = $.ajax({
type: "GET",
    url: "example.com/rewards.json"
    dataType: "json",
    error: function (data, textStatus){
         console.log( "it`s error" );
             console.log( status );
         console.log( data );},
        success: function (data, textStatus){
        console.log( "success" );
        console.log( status );
        console.log( data );
         }
        })
        request.success(function(data, textStatus){
            var lis = "";
            var arr = [];
            var iter = 0;

            $.each(data.rewards, function(key, val){
                if ($.inArray(val.points, arr) == -1)
                    {
                        lis += "<div class = 'ui-block-" + String.fromCharCode(97 + iter%3) + "'><a href ='#' class ='ui-link-inherit'>" + val.points + "</a></div>";
                        arr.push(val.points);
                        iter +=  1;
                    }
            });
            $("#rewards_table").html(lis);
        })

私が欲しいものの説明は少し混乱するかもしれませんので、私に何でも聞いてください

4

1 に答える 1

2

まさにそれを行うだけです。後で使用するためにどこかに保存します。

たとえば、次の行をコードの先頭に追加します。

var duplicates = [];

else...そして、これをイテレータ関数のif中に追加します:$.each

else
   {
   duplicates.push(val.points);
   }

(私はあなたのブレーシングスタイルをそこに持っていると思います.私には少し異質です.:-))

上記は、グローバルの作成を避けるために、すべてのコードがある種の包含関数に保持されていることを前提としているため、duplicates(既存のrequest変数のように) グローバルになることはありません。

于 2012-11-30T08:48:12.487 に答える