【问题标题】:How to read the data from javascript in jtemplate如何从jtemplate中的javascript读取数据
【发布时间】:2014-04-28 05:31:25
【问题描述】:

我的 js 文件中有 json 数据,现在我需要将其传递给 jtemplate 并显示。这是我尝试过的代码,但没有显示任何数据

   $.ajax({
            url: '/CMananager/getDetails',
            contentType: "application/json; charset=utf-8",
            data: { 'ID': ID },
            type: 'GET',
            cache: false,
            success: function (result) {

                var placeHolder = $("#templatePlaceHolder");

                placeHolder.setTemplateURL("/Templates/Preview/Details.htm");


                placeHolder.processTemplate(result.Name);
            }

在 jtemplate 我试图读取这样的数据,什么都没有显示

<input type="text" id="Details" name="DetailsName" style="float:left; font-size:14px; line-height:42px; padding: 0; text-align: left;width: 80%;" value="{$T.Name}" maxlength="50"/>

<span id="DetailsNamespan" style="float:left; font-size:14px; line-height:42px; padding: 0; text-align: left;width: 80%;">{$T.Name}</span>

【问题讨论】:

  • 试试placeHolder.processTemplate({Name: result.Name});
  • 超级成功,但请告诉我原因。为什么我必须分配给另一个变量并在那里访问?

标签: javascript jquery html asp.net-mvc jtemplates


【解决方案1】:

$T 引用您传入模板的数据对象。

因此,如果您想使用{$T.Name} 引用您的数据,那么您需要传入一个具有Name 属性的对象:

placeHolder.processTemplate({Name: result.Name});

或者,如果您只想传入一个简单类型(字符串、数字等),您可以这样做,但在这种情况下,您需要使用 {$T} 在模板中访问它:

placeHolder.processTemplate(result.Name);

在你的模板中:

<input type="text" id="Details" name="DetailsName" value="{$T}" />

<span id="DetailsNamespan">{$T}</span>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 2022-01-17
    • 2011-05-22
    • 1970-01-01
    • 2010-10-23
    相关资源
    最近更新 更多