【问题标题】:jquery display template with no data没有数据的jquery显示模板
【发布时间】:2011-02-02 17:10:43
【问题描述】:

我在 jquery 中有一个模板,并试图只显示没有数据的 HTML。我试图绑定'null'而不是json“数据”,但它给出了错误(地址未定义)。下面是代码语句。

$("#empTemplate").tmpl(null).appendTo("#divEmp");

HTML 标记:

<table style="padding-left: 5px">
            <tr>
                <td>
                    <span>Name:</span>
                </td>
                <td>
                    <span>Employer:</span>
                </td>
                <tr>
                    <td>
                        <table>
                            <tr>
                                <td>
                                    <span>1</span>
                                </td>
                                <td>
                                    {{if Address.Length >=1}}
                                    <input type="text" value="${Address[0].State}" style="width: 50px" />
                                    {{else}}
                                    <input type="text" value="" style="width: 50px" />
                                    {{/if}}
                                </td>
                                <td>
                                    {{if Address.Length >=2}}
                                    <input type="text" value="${Address[1].State}" style="width: 50px" />
                                    {{else}}
                                    <input type="text" value="" style="width: 50px" />
                                    {{/if}}
                                </td>
                                <td>
                                    {{if Address.Length >=3}}
                                    <input type="text" value="${Address[2].State}" style="width: 50px" />
                                    {{else}}
                                    <input type="text" value="" style="width: 50px" />
                                    {{/if}}
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
        </table>

这也是 Json:

{
    "Name": "Peter",
    "EmpId": "10",
    "Employer": [
        {
            "EmpName": "ABC",
            "EmpCity": "Jal",
            "Address": [
                {
                    "State": "MO",
                    "City": "St.Louis" 
                } 
            ] 
        } 
    ]
}

【问题讨论】:

  • 你打算从哪里引用Address
  • Address 是一个数组,是 Employee 对象的一部分

标签: jquery jquery-templates


【解决方案1】:

使用空对象{address:[]}

$("#empTemplate").tmpl({address:[]}).appendTo("#divEmp");

【讨论】:

  • @Luke:你的意思是创建一个空的JSON对象并绑定它?
  • 太棒了!它可以工作,但为什么模板无法处理空数组?
  • 那么,在这种情况下,如何处理 Name、EmpId 等对象?即使它们是空值,对吗?
  • 在我看来,没有对象“{}”的属性名称为 empid。如果您尝试在不存在该数组的数组上执行 address[index].Name,您将得到数组超出范围错误。如果有一个对象,比如 {},那么它会说 name 没有定义,因为没有像这样的属性。你应该告诉我,你为什么要做这一切,你想达到什么目标。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-02
  • 1970-01-01
  • 2013-04-25
  • 1970-01-01
  • 1970-01-01
  • 2022-10-16
  • 1970-01-01
相关资源
最近更新 更多