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 に id とその値を持つ 5 つのエントリしか含まれていないことですが、ビューを表示すると、テキストエリアに次のようなものが表示されます。画像

しかし、ハードコードされた JSON を Patents 変数に渡すと、適切に表示されます。

どんな助けでも大歓迎です。

ありがとう

編集

私の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 に答える