【问题标题】:How to reference a specific object in an array of objects using jTemplates如何使用 jTemplates 引用对象数组中的特定对象
【发布时间】:2011-02-04 09:01:21
【问题描述】:

我正在使用出色的 jTemplates 插件来生成内容。

给定这样的数据对象...

var data = {
 name: 'datatable',
 table: [
  {id: 1, name: 'Anne'},
  {id: 2, name: 'Amelie'},
  {id: 3, name: 'Polly'},
  {id: 4, name: 'Alice'},
  {id: 5, name: 'Martha'}
 ]
};

..我想知道是否可以使用 $T 在对象数组中直接指定一个对象。 (我希望有类似 $T.table:3 的东西可用)

目前我能想到的访问数组中特定对象的唯一方法是做这样的事情......

{#foreach $T.table as record}

    {#if $T.record$iteration == 3}
        This is record 3!  Name:  {$T.record.name}
    {#/if}

{#/for}

但是这看起来很笨拙......

有什么建议吗?

谢谢

【问题讨论】:

    标签: javascript jquery oop jquery-plugins jtemplate


    【解决方案1】:

    使用您发布的数据,您可以使用纯 javascript 执行此操作 :)

    data.table[2].id   // 3
    data.table[2].name // "Polly"
    

    tabledata 的直接子代,这是它的第三个子代(数组从 0 开始)。

    如果我理解错了,而您想通过 id 搜索,另一种选择是:

    for(var i in data.table) {
      var o = data.table[i];
      if(o.id == 3) alert(o.name); // "Polly"
    }
    

    【讨论】:

    • 谢谢,我正在尝试在 jTemplates 的模板语言中执行此操作。但经过更多实验后,您可以像这样引用该值:$T.table[3].name。嗬! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多