0

いくつかの json データをカスタム JQuery 関数にロードしようとしています。これにはおそらく簡単な解決策があると思います。間違った方法で行っている場合は、アドバイスしてください。

今のところ、実際にデータを適切に見つけられるように、それを本体に追加しているだけです。append() を使用して関数にも追加しようとしましたが、どこにも行きませんでした。

$.getJSON("designs/new.json",function(result){
        $.each(result, function(i, field){
            $("body").append(field['hex'] + " ");
        });
});

基本的に私がやりたいことは、この colorPicker 関数の 16 進データ値を上記の json データの 16 進コードに置き換えることです。私はしばらくそれをいじっていましたが、正しいアプローチを見つけることができないようです。

$.fn.colorPicker.defaults.colors = ['000', '000', 'fff', 'fff'];

事前に助けていただきありがとうございます!

4

2 に答える 2

0

私が正しく理解していれば:

1) JSON は、それぞれが「hex」プロパティを持つオブジェクトの配列 (おそらく 4 つ?) を返します。2) これら 4 つの 16 進プロパティに基づいて、カラー ピッカーのデフォルトの色を設定します。

したがって、私の仮定が正しく、配列が適切に並べられていると仮定すると、次のようなことができます。

$.getJSON("designs/new.json",function(result){
        $.fn.colorPicker.defaults.colors = $.map(result, function(i) {
            return i.hex;
        });
});

16 進数のプロパティを配列にマップし、それを直接色に割り当てました。繰り返しますが、これは結果オブジェクトに 4 つのオブジェクトの配列があり、それぞれが 16 進数のプロパティを持っていると仮定しています。

于 2012-04-26T00:21:16.723 に答える
0

alert(JSON.stringify(result)) を使用して、json データが正しく読み込まれているかどうかを確認してください。このコードは動作するはずです:

$.getJSON("t.json", function (result) {
  //alert(JSON.stringify(result));
  $.fn.colorPicker.defaults.colors = result.colors;
});

t.json の内容は次のとおりです。

{
  "colors": ['00a', '00b', 'ffa', 'ffb']
}
于 2012-04-26T00:21:26.627 に答える