【问题标题】:Kendo UI grid return json string with html tagsKendo UI 网格返回带有 html 标签的 json 字符串
【发布时间】:2013-08-05 17:20:20
【问题描述】:

我的脚本 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 格式属性,它在 Kendo UI Grid 中显示为平面字符 &lt;span class="k-block k-success-colored"&gt;250,000&lt;/span&gt;

如果我使用base64_encode("&lt;span class="k-block k-success-colored"&gt;250,000&lt;/span&gt;"),如何在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>

【问题讨论】:

    标签: php grid kendo-ui


    【解决方案1】:

    然后在 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()),
    

    希望对你有帮助。

    【讨论】:

    • 感谢朋友的另一个解决方案!
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 2015-07-05
      • 1970-01-01
      • 2014-01-22
      • 2013-08-01
      • 1970-01-01
      相关资源
      最近更新 更多