首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery-templ和带有连字符(-)的键

Jquery-templ和带有连字符(-)的键
EN

Stack Overflow用户
提问于 2012-02-01 19:53:00
回答 2查看 462关注 0票数 1

我有一个带有key‘BASIS TYPE’的json数组。如果我在标记中使用此值:

代码语言:javascript
复制
<html>
<head>
<script src="/js/jquery-1.7.min.js"></script>
  <script src="/js/jquery-plugins/jquery.tmpl.min.js"></script>
<script>
$(document).ready(function(){
var jsonarray = {"_id":"15", "BASIS-TYPE":"80"}
        var markup = "<tr><td>${_id}</td><td>${BASIS-TYPE}</td></tr>";
        $.template( "tableTemplate", markup);
        $("#templtable").replaceWith('<table id="templtable">'+headers+'</table>');
        $.tmpl( "tableTemplate", jsonarray ).appendTo("#templtable");
}
</script>
</head>
<body>
    Tabel:</br>
    <table id="templtable"></table>
</body>
</html>

它将查找'BASIS‘而不是'BASIS-TYPE',抛出错误:

代码语言:javascript
复制
Uncaught ReferenceError: BASIS is not defined

替换BASIS TYPE将显示所需结果。

对此有什么解决方案吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-01 21:17:56

对模板的此更改将解决您的问题:

代码语言:javascript
复制
var markup = "<tr><td>${_id}</td><td>${$data['BASIS-TYPE']}</td></tr>";
票数 1
EN

Stack Overflow用户

发布于 2012-02-01 20:31:19

我想你得给你的财产重新命名,

一种解决方案是:

在数组上循环

代码语言:javascript
复制
for (var x in jsonarray ) {
   if( x == 'BASIS-TYPE' ) { jsonarray.basisType = x; break; }
}

然后在模板引擎中使用:

代码语言:javascript
复制
var markup = "<tr><td>${_id}</td><td>${basisType}</td></tr>";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9095319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档