将JSON数据附加到自定义JQuery函数中

时间:2012-04-26 00:01:15

标签: javascript jquery json

我正在尝试将一些json数据加载到自定义JQuery函数中。我可以随便学习,这可能是一个简单的解决方案。请告知我是否只是采取了错误的方式。

截至目前,我只是将其附加到正文中以确保我实际上正确地找到了数据。我试图使用append()将它添加到函数中,但没有得到任何位置。

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

基本上我想要做的是用上面我的json数据中的十六进制代码替换此colorPicker函数的十六进制数据值。我已经搞砸了一段时间,似乎无法找到正确的方法。

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

我提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

如果我理解正确:

1)你的JSON返回一个对象数组(大概是四个?),每个对象都有一个“hex”属性。 2)您希望根据这四个十六进制属性设置颜色选择器的默认颜色。

因此,假设我的假设是正确的并且您的数组已正确排序,您可以执行以下操作:

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

我已将十六进制属性映射到数组并将其直接分配给颜色。同样,这假设您在结果对象中有一个包含四个对象的数组,每个对象都有一个十六进制属性。

答案 1 :(得分: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']
}