我正在尝试使用Mustache.js处理翻译,它适用于部分代码但不适用于其他部分。
<script>
function MyFunction() {
// If a submit button is pressed, do some stuff and run this function to display the result
var tmpText = "";
tmpText = "<b>{{someTextInJSfunction}}</b>"; // this is NOT OK
document.getElementById("totalText").innerHTML = tmpText;
}
</script>
</head>
<body>
<div id="sampleArea">
</div>
<script id="personTpl" type="text/template">
<span id="totalText"></span></p>
<b>{{ImpNotice}}</b> {{Contact}} // this is OK
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="js/mustache.js"></script>
<script>
$( document ).ready(function() {
var lang = 'en_us';
$.getJSON('json/'+lang+'.json', function(data) {
var template = $('#personTpl').html();
var html = Mustache.to_html(template, data);
$('#sampleArea').html(html);
});
});
</script>
当我单击“提交”按钮时,将调用我的JS函数,并且根据某些计算,应在页面中显示一些文本。这部分不起作用,会显示{{someTextInJSfunction}}
而不是{{someTextInJSfunction}}
的实际内容。
正确显示{{ImpNotice}}
和{{Contact}}
的内容,因为我假设变量位于<script id="personTpl">
标记中。
我不确定如何修复我的JS函数中的变量,例如{{someTextInJSfunction}}
。