我有一个场景,我需要将随机生成的id传递给javascript函数,但javascript函数无法识别。我使用dojo增强网格。以下是代码:
function(value, rowIndex) {
var Id = this.grid.getItem(rowIndex).ID;
alert("ID+ " + Id);//retriving the id value correctly
return "<img src=../img/smiley.jpg width=\"20\" height=\"20\" onClick=\"showData(\''+Id +'\')\" class=\"display\">" ;
};
<script>
function showData(id){
alert(id);//unable to get the id here..
}
</script>
提前致谢。
答案 0 :(得分:3)
监听器中的引号搞砸了。我倾向于使用HTML的双引号和脚本的单引号,并适当地嵌套:
return '<img src="../img/smiley.jpg" width="20" height="20" onclick="showData(\'' + Id + '\');" class="display">';
另外,我更喜欢对所有属性名称使用小写并引用所有值,而不仅仅是那些严格需要它的值。
最后,以大写字母开头的变量名按惯例保留给构造函数,因此您应该使用id
而不是Id
。