0

我在我的项目中使用 Jquery Tokeninput 在文本区域中显示一些数字。我有一个隐藏的输入字段,我在其中保存包含数字的 JSON 字符串。JSON看起来像

patents = [{"id":"AT02708872"},{"id":"DE60232348"},{"id":"EP02708872"},{"id":"SE0101087"},{"id":"SE0200504"}] 

在我看来,隐藏的输入是

  <input id="appln_nrs" type="hidden" value="{{ patents }}" />

在同一个视图中,我将此输入的值传递给我的 JQuery Tokeninput 作为

<script type="text/javascript">
    $(document).ready(function() {
        var patents = $("#appln_nrs").val();
        //var patents = [{id:"ABC"},{id:"DEF"}];
        $("#patents").tokenInput("", {
            theme:"facebook",
            prePopulate: patents
        });
    });
</script>

问题是 JSON 仅包含 5 个带有 id 及其值的条目,但是当我在视图中时,它在 textarea 中显示类似这样的内容图片

但是当我将一些硬编码的 JSON 传递给专利变量时,它会正确显示。

任何帮助将不胜感激。

谢谢

编辑

当我在我的javascript中使用时

 var patents = {{ patents }};

它给了我以下语法错误

  SyntaxError: invalid property id
  [Break On This Error]     

  var patents = [{&quot;id&quot;:&quot;AT.02708872.T&quot;},{&quot;id&quot;:&quot;... 
4

1 回答 1

1

不要使用隐藏字段。做就是了:

<script type="text/javascript">
    $(document).ready(function() {
        var patents = {{patents|raw}};
        //var patents = [{id:"ABC"},{id:"DEF"}];
        $("#patents").tokenInput("", {
            theme:"facebook",
            prePopulate: patents
        });
    });
</script>
于 2012-09-20T19:25:07.810 回答