2011-01-06 3 views
0

Я использую jqgrid и передаю обратно форматированные строки json. Одно из значений ряда является якорем тег, как показано ниже:jquery json anchor tag

<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> 

Final JSON отформатированная строка для возврата

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

Благодарности

+0

Не могли бы вы показать более полный пример «форматированных строк JSON?» _ Не могли бы вы пояснить, что вы подразумеваете под _ «возвращенный JSON преобразует значения« _ и _ », он удаляет все атрибуты« _? Что такое «это» - jqgrid? –

+0

@Matt: Я отредактировал свой ответ с образцом JSON. То, что я подразумевал под «возвращенным JSON конвертирует значения», я построил массив с использованием Coldfusion, который должен быть передан JSON. coldfusion отображает метки привязки в порядке, но json избегает тегов и удаляет атрибуты перед передачей их в jqgrid. «Это» относится к jSON. Спасибо – DG3

+0

@user: Я до сих пор не понимаю, что вы имеете в виду. JSON - это обозначение; он ничего не делает _do_, поэтому я не вижу, как это может избежать тегов и удалить атрибуты. Вы имеете в виду, что конвертер JSON, который вы используете (или, возможно, CF), делает это? –

ответ

0

Использование <cfsavecontent>:

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

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

Проблема в том, что закрытие> в вашем вызове arrayAppend рассматривается как конец тега (он действительно должен вызывать ошибку, удивляясь, что это не так). Использование cfsavecontent сохранит форматирование ссылки. –

+0

Я пробовал использовать ваш код. Теперь я вижу ссылку, но значение на сетке окружено дополнительными символами, такими как «\ r \ ntext \ r \ n». Возвращаемое значение json имеет это значение для тега привязки: \\ r \\ n k <\/a> \\ r \\ n – DG3

+0

Большое спасибо. После того как я удалил jsStringFormat, он сработал. – DG3