人気のある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の二重引用符を回避するために、標準の円記号を使用していることに注意してください(ただし、役に立たないようです)。