您好我有一个jsonlist对象,我将其发送到模板。我想将项目索引发送到getSurname方法以从json对象获取项目。那么如何获得jsonList的项目索引?
我的模板:
$.template('deneme',
'<div>${name}: <input onClick='getSurname(\"${$index}\")'
type='checkbox' /></div>
我的Json列表:
[{"name":"Sedat","surname":"Basar"},
{"name":"Deneme","surname":"Avile"},
{"name":"Ganmaz","surname":"Oyilmna"}]
function getSurname(){
....???
}
答案 0 :(得分:1)
关于这个的两个想法:
1-而不是让模板在数组的每个项目上运行,您可以将整个数组传递给模板,并更好地访问索引/项目信息。
var data = [{"name":"Sedat","surname":"Basar"},
{"name":"Deneme","surname":"Avile"},
{"name":"Ganmaz","surname":"Oyilmna"}];
$("#deneme").tmpl({ people: data }).appendTo("#content");
<script id="deneme" type="text/html">
{{each(i, person) people}}
<div>
${name}: <input onClick='getSurname("${i}")' type='checkbox' />
</div>
{{/each}}
<hr />
</script>
2-另一种选择是使用模板插件的tmplItem功能。这看起来像是:
var data = [{"name":"Sedat","surname":"Basar"},
{"name":"Deneme","surname":"Avile"},
{"name":"Ganmaz","surname":"Oyilmna"}];
function getSurname(element){
var data = $(element).tmplItem().data;
alert(data.surname);
}
$("#deneme").tmpl(data).appendTo("#content");
<script id="deneme" type="text/html">
<div>
${name}: <input onClick='getSurname(this)' type='checkbox' />
</div>
</script>