我在我的应用程序中使用JSRender。
<html>
<body>
{{for Comments}}
<input id="id_{{:CommentId}}" type="hidden" value="-1" />
<textarea id="cmt_{{:TopicId}}" ......... />
{{/for}}
</body>
</html>
<script type="text/javascript">
$(document).ready(function () {
//The below code gets executed / works fine.
$('#cmt_{{:TopicId}}').bind('keyup keydown paste', function (e) {
//my logic
});
//This code doesnot work fine, instead of -1, it gives undefined.
var rankAction = $("#id_{{:CommentId}}").val();
});
</script>
我希望rankAction
变量提供-1
,而它返回undefined
,为什么会这样?
是否只是因为包含JSRendered值的id
无法在脚本编码中读取?
那么为什么另一部分即cmt{{:TopicId}}
返回一个值?
哪里错了?
答案 0 :(得分:1)
堆叠溢出的人:我为使这个成为“答案”而道歉,但这些评论并不足以描述我的问题。
@ismail baig:调用jsrender模板,例如:
// Render the template with the movies data and insert
// the rendered HTML under the "movieList" element
$( "#movieList" ).html(
$( "#movieTemplate" ).render( movies )
);
注意,模式是一些template.render(datalist),其中模板可以使用:
定义<script id="movieTemplate" type="text/x-jsrender">
<div>
{{:#index+1}}: <b>{{>name}}</b> ({{>releaseYear}})
</div>
</script>
#movieList
只是一个元素。 movies
是一个javascript数组。我没有看到这三个项目:模板,数据列表,以及在示例中呈现模板的调用。
作为参考,请查看此page并执行查看源代码以查看代码,模板和用法。