1

我的脚本 transaction.php 返回以下 json 格式

    $TransactionSumary[0] = array(
        'ExchangeRate' => 'USD = 7,800 | THB 250',
        'Total' => '250,000 LAK',
        'VAT'   => '25,000 LAK',
        'GrandTotalUSD' => '15.00',
        'GrandTotalTHB' => '1,000',
        'GrandTotalLAK' => '<span class="k-block k-success-colored">250,000</span>',
);

echo $_GET['callback']."(".json_encode($TransactionSumary).")";

请看GrandTotalLAK,它包含一些 HTML 标签,

问题是GrandTotalLAK不显示为 HTML 格式属性,它<span class="k-block k-success-colored">250,000</span>在 Kendo UI Grid 中显示为平面字符,

如果我使用base64_encode("<span class="k-block k-success-colored">250,000</span>"),以及如何在 Kendo UI Grid 列属性中对其进行解码?

这是 Kendo UI Grid cloumn 属性

{ field:"GrandTotalLAK", title: "Grand Total (LAK)", width: "20%" },

非常感谢!

好的,经过一些谷歌我找到了解决方案

<div id="grid"></div> <script> $("#grid").kendoGrid({ columns: [ { field: "name", encoded: false } ], dataSource: [ { name: "<strong>Jane Doe</strong>" } ] }); </script>

4

2 回答 2

4

而不是在 GrandTotalLak 上传递 html,只需传递值并将特定列的模板设置为您想要的显示方式。

例如:-

 <script id="column_template" type="text/x-kendo-template">
    <span class="k-block k-success-colored"> #= GrandTotalLAK #</span>
 </script>

然后在您的特定字段的列中定义上述模板ID,例如

template: kendo.template(jQuery("#column_template").html()),

我希望它有帮助。

于 2013-08-09T04:05:21.550 回答
2

您可以告诉 Kendo Grid 不要使用columns.encoded属性对您的数据进行编码 - 即将您的列定义更改为:

columns: [{
  field:"GrandTotalLAK",
  title: "Grand Total (LAK)",
  width: "20%",
  encoded: false
}]

更新:我看到您已经在您的问题中添加了该解决方案 - 我会在此处留下我的答案,以防其他人也读得太快!

于 2013-10-25T16:02:18.837 回答