我有一个带有key‘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将显示所需结果。
对此有什么解决方案吗?
发布于 2012-02-01 21:17:56
对模板的此更改将解决您的问题:
var markup = "<tr><td>${_id}</td><td>${$data['BASIS-TYPE']}</td></tr>";发布于 2012-02-01 20:31:19
我想你得给你的财产重新命名,
一种解决方案是:
在数组上循环
for (var x in jsonarray ) {
if( x == 'BASIS-TYPE' ) { jsonarray.basisType = x; break; }
}然后在模板引擎中使用:
var markup = "<tr><td>${_id}</td><td>${basisType}</td></tr>";https://stackoverflow.com/questions/9095319
复制相似问题