【问题标题】:jquery tokeninput with PHP使用 PHP 的 jquery tokeninput
【发布时间】:2012-09-20 19:14:24
【问题描述】:

我在我的项目中使用 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;... 

【问题讨论】:

  • 为什么要使用隐藏字段?能把生成的隐藏字段的html贴一下吗?
  • 生成的隐藏输入字段为
  • 我正在使用隐藏的输入字段将专利从 php 传递到我的 Jquery
  • 您必须要求 twig 不要使用 |raw 转义变量。编辑了我的答案

标签: php jquery symfony tokenize jquery-tokeninput


【解决方案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>

【讨论】:

  • 现在文本区域什么也不显示了
  • 抱歉,我忘记在“{{patents}}”后面加分号。现已修复
  • 当我使用 var 专利 = {{patents}};和 alert(patents).. 它说 function Array() { [native code] }
  • 你能把这个脚本生成的html的代码贴出来吗?另请注意,在有效的代码中 (var 专利 = [{id:"ABC"},{id:"DEF"}];) id 没有被引用。也许你必须在生成 json 时改变它
  • 实际上,在我看来,我正在获得专利变量中的数组
猜你喜欢
  • 2012-01-03
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 2011-10-12
  • 2014-06-28
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多