【问题标题】:jQuery Tokeninput save combination of ID and secound Value as internal IDjQuery Tokeninput 将 ID 和第二个 Value 的组合保存为内部 ID
【发布时间】:2012-05-29 12:27:55
【问题描述】:

我得到一个这样的 JSON 数组:

[{"type":"user","id":"12","name":"Name of User"},{"type":"group","id":"9","name":"Name of UserGroup"}]

后端返回一个带有名称、ID 和类型(用户或组)的 JSON 数组。

有没有办法在输入到输入字段之前操作id,例如

 type+"_"+id

?

其实我就是用这个来初始化tokenInput:

$("input#id").tokenInput(apiURL+"search.php", {
                defaultValue:"User or User Group",
                hintText:"Fill in User or User Group name.",
                noResultsText:"nothing found.",
                searchingText:"Searching...",
                queryParam:"search",
                crossDomain:false,
                tokenLimit:5,
                preventDuplicates:true,
                minChars:3,
                resultsFormatter:function(item) {
                    return "<li><img src="+((item.type=="user") ? "contact" : "contact_group")+ ".png\"/>"+item.name+"</li>";
                }
            });

在 Rory McCrossan 的帮助下,我成功了。把 id 改成 resultsFormatter 方法就行了:

resultsFormatter:function(item) {
     if (item.id.indexOf("_") == -1)
     {
           item.id = item.type+"_"+item.id;
     }

     return "<li><img src="+((item.type=="user") ? "contact" : "contact_group")+ ".png\"/>"+item.name+"</li>";

}

“if (item.id.indexOf (...))” 是必要的,因为 tokenInput 会匹配条目,如果您搜索相同的字符串,则 id 已经具有 type+“_” 前缀并且会第二次/第三次/...时间。

【问题讨论】:

    标签: jquery jquery-tokeninput


    【解决方案1】:

    试试这个:

    resultsFormatter: function(item) {
        var itemId = item.type + "_" + item.id;
        return "<li id='" + itemId + "'><img src="+((item.type=="user") ? "contact" : "contact_group")+ ".png\"/>"+item.name+"</li>";
    }
    

    【讨论】:

    • 您好,感谢您的回复。但我正在使用带有 tokenInput 插件的 jQuery (loopj.com/jquery-tokeninput)
    • 我已经编辑了我的问题,以便为您提供更多信息。您的剪辑对我不起作用,因为我没有使用数据初始化 tokenInput,当用户正在寻找字符串作为用户或组名时,它必须“实时”查找它。
    • 输出仍然是“12”或“9”,而不是“user_12”或“group_9”。
    • 另一个更新。您能否在使用时发布resultsFormatter。谢谢
    • 在您的帮助下,我找到了答案。谢谢你。我更新了我的问题并添加了正确答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 2019-07-28
    • 2021-01-31
    相关资源
    最近更新 更多