1

人気のあるDataTablejQueryライブラリを使用して、Coldfusionで表形式のデータをレンダリングしています。私は次のjQueryを持っています...

var tbl = $('#tbl-people').dataTable({
   aaData : [<cfoutput query="qryPeople">
      [
         '#FName#',
         '#LName#',
         '<input type="hidden" value="{\"test_id\":123,\"test\":\"john\"}" />'
      ]<cfif currentRow NEQ recordCount>,</cfif></cfoutput>
   ],
   aoColumnDefs... and a few other pieces that I'm leaving out for the sake of brevity.
});

私の質問(および問題)は、aaDataの3番目の列として作成されている非表示フィールドを中心に展開しています。FNameとLNameをJSONとして非表示フィールドの値に保存したいと思います。ただし、最初にテストするために、テストJSONをハードコーディングすることにしました。私の問題は、非表示の入力フィールドが最終的にHTMLとしてレンダリングされるときにマングルされていることです。非表示の入力の結果のHTMLは次のようになります...

<input type="hidden" test_id":123,"test":"john"}"="" value="{">

ある時点で、JSONの二重引用符が何かによって誤解されたり、誤解されたりしていることは明らかです。そのため、HTMLが台無しになっています。また、JSONの二重引用符を回避するために、標準の円記号を使用していることに注意してください(ただし、役に立たないようです)。

4

1 に答える 1

1

非表示のフィールドに JSON を貼り付けることを馬鹿にしないでください。それはただ面倒です。これを HTML スパン タグに簡単に挿入し、css 表示を「なし」に設定して、効果的に非表示フィールドにすることができました。

于 2013-02-28T21:29:01.370 に答える