Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将哈希的JSON数组解析为jQuery tokenInput_Javascript_Jquery_Ruby_Ruby On Rails 3_Jquery Tokeninput - Fatal编程技术网

Javascript 将哈希的JSON数组解析为jQuery tokenInput

Javascript 将哈希的JSON数组解析为jQuery tokenInput,javascript,jquery,ruby,ruby-on-rails-3,jquery-tokeninput,Javascript,Jquery,Ruby,Ruby On Rails 3,Jquery Tokeninput,我实现了jQuery令牌输入,用于标记目的,用户可以搜索标记或创建一个新标记,这要感谢railscasts&。数据来自标签控制器的索引操作tags.jsonurl。tags.json中的数据如下所示: [ { "created_at":"2013-06-21T16:30:19Z", "explanation":"hitting the hosel of the club", "id":8, "name":"shank", "updated_at":"2

我实现了jQuery令牌输入,用于标记目的,用户可以搜索标记或创建一个新标记,这要感谢railscasts&。数据来自标签控制器的索引操作
tags.json
url。tags.json中的数据如下所示:

[
  {
    "created_at":"2013-06-21T16:30:19Z",
    "explanation":"hitting the hosel of the club",
    "id":8,
    "name":"shank",
    "updated_at":"2013-06-21T16:30:19Z",
    "updated_by":"andy"
  },
  {
    "created_at":"2013-06-22T17:40:37Z",
    "explanation":"hitting the ground before the ball",
    "id":12,
    "name":"chunk",
    "updated_at":"2013-06-22T17:40:37Z",
    "updated_by":"andy"
  }
]
我的标记有一个名称和一个解释,因此我希望将它们包括在结果列表中,就像这里的标记和结果格式演示一样

下面的代码(为简洁起见省略的条目数)来自jQuery tokenInput标记和结果格式化演示

我如何从tags.json散列中提取名称和解释,并将其与结果格式化程序行(例如item.name和item.explainion)中使用,而不是在此处手动输入“name”:“Shank”以及其他省略的条目

tags.js

jQuery(function() {
var question = $('#question_tag_tokens')
  return question.tokenInput([{
       "name": "Shank",
       "explanation": "hitting the hosel of the club"
   }
 ], {
    propertyToSearch: ["name"],
    resultsFormatter: function(item){ return "<li>" + "<div class='tag' style='display:inline;color:#fff;'>" + item.name + "</div>" + " " + item.explanation + "</li>" },
    prePopulate: question.data('preload')
  });
});
jQuery(函数(){
var question=$(“#question_tag_tokens”)
返回问题.tokenInput([{
“名称”:“柄”,
“解释”:“击中俱乐部的软管”
}
], {
propertyToSearch:[“名称”],
结果格式化程序:函数(项){return“
  • ”+“”+item.name+“”+“”+item.explauration+“
  • ”}, 预填充:question.data('preload') }); });
    您提到的示例的来源如下:

     $(document).ready(function() {
         $("#demo-input-local-custom-formatters").tokenInput(
             [{
                 "first_name": "Arthur",
                 "last_name": "Godfrey",
                 "email": "arthur_godfrey@nccu.edu",
                 "url": "https://si0.twimg.com/sticky/default_profile_images/default_profile_2_normal.png"
             },
             {
                 "first_name": "Adam",
                 "last_name": "Johnson",
                 "email": "wravo@yahoo.com",
                 "url": "https://si0.twimg.com/sticky/default_profile_images/default_profile_2_normal.png"
             },
             ...
    
             ], 
             {
                 propertyToSearch: "first_name",
                 resultsFormatter: function(item){ ... },
                 tokenFormatter: function(item) { ... }
             });
    });
    

    tokenInput
    似乎包含一个对象数组。使用ajax加载json后,您只需将其传入并告诉它要搜索的字段和一些回调以格式化结果。

    您是在问如何在javascript中从rails加载json吗?该示例显示,您可以将整个数组传递到您的
    tokenInput
    call中。哦,好吧,这比我想象的要简单得多,您可以访问该项。来自tokenInput的解释('tags.json')将其放在@joeshmo的答案中,我很乐意接受。