2011-01-06 3 views
0

私はjqgridを使用しています。json形式の行を渡しています。列の値の一つは、以下のようにアンカータグである:jquery jsonアンカータグ

<a class='class1' href='#' onClick='getFn(); return false;'> text </a> 

しかし、返されるJSONは以下のように値を変換します。

"\n text\n <\/a>" 

また、すべての属性と「タグ」のを削除します始まり。この種の問題の回避策はありますか?私の結果セットの

JSONサンプル

{"ROWS":[[3,"FName1","Lname1","\n text\n <\/a>"]],"PAGE":1.0,"TOTAL":3.0,"RECORDS":1} 

だから、上記のサンプルでは、​​値"\n text\n <\/a>"がされている必要があります<a class='class1' href='#' onClick='getFn(); return false;'> text </a>

のColdFusionコード:

 //append to the array 
    <cfset arrayAppend(arrayUsers[i],"<a class='class1' href='#' onClick='getFn(); return false;'> text </a>")> 

    </cfloop> 
<cfset i = i + 1> 

+0

JSON形式の行のより完全な例を表示できますか?_意味することを明確にしてください_ "返されたJSONは値" _と_を変換してすべての属性 "_を返します。それは何ですか?jqgrid? –

+0

@Matt:サンプルJSONで自分のレスポンスを編集しました。 「返されたJSONが値を変換する」という意味は、ColdFusionを使用してJSONに渡す必要がある配列を作成したことです。 coldfusionはアンカータグをうまく表示しますが、jsonはタグをエスケープし、属性を削除してからjqgridに渡します.'It 'はjSONを参照します。ありがとう – DG3

+0

@user:私はまだあなたが意味するものを取得していません。 JSONは表記法です。何も_do_しないので、タグをエスケープして属性を削除する方法はわかりません。あなたが使用しているJSONコンバータ(または多分CF)がこれをしているということですか? –

答えて

0

使用<cfsavecontent>

<cfset jsonReturn = {total=#totalPages#,page=#Arguments.page#,records=#GetDetails.recordcount#,rows=#arrayUsers#}> 

おかげで返すように最終的なJSON形式の文字列:

<cfsavecontent variable="a"><a class='class1' href='#' onClick='getFn(); return false;'> text </a></cfsavecontent> 

<cfset arrayAppend(arrayUsers[i], a)> 
+1

問題は、arrayAppend呼び出しのclosing>がタグの終わりと見なされていることです(実際にはエラーが発生するはずです。 cfsavecontentを使用すると、リンクの書式が保持されます。 –

+0

あなたのコードを使ってみました。リンクが表示されますが、グリッドの値は '\ r \ ntext \ r \ n'のような余分な文字で囲まれています。返されたjsonにはアンカータグの値があります。\\ r \\ n k <\/a> \\ r \\ n – DG3

+0

ありがとうございます。 jsStringFormatを削除した後、jsStringFormatは機能しました。 – DG3

関連する問題