我有一个带有'BASIS-TYPE'键的json数组。如果我在标记中使用此值:
<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
”,从而引发错误:
Uncaught ReferenceError: BASIS is not defined
更换BASIS-TYPE将显示所需的结果。
有没有解决方案?
答案 0 :(得分:1)
对模板的这一更改将解决您的问题:
var markup = "<tr><td>${_id}</td><td>${$data['BASIS-TYPE']}</td></tr>";
答案 1 :(得分:0)
我认为你必须重命名你的财产,
一个解决方案就是:
遍历数组
for (var x in jsonarray ) {
if( x == 'BASIS-TYPE' ) { jsonarray.basisType = x; break; }
}
然后在模板引擎中使用:
var markup = "<tr><td>${_id}</td><td>${basisType}</td></tr>";