0

我有一个 dojo 数据网格,我正在使用一个格式化程序,除其他外,将链接放入单元格中。

格式化程序如下所示:

var descshort = value[1].substring(0,220);

return '<a href="'+ value[2] +'">'+value[0]+'</a><br /><div class="gridItemDescription">'+descshort+'&nbsp;&nbsp;<a href="#" onclick="showDesc();return false;">show more...</a></div>';

所以你看我只显示 value[1] 的前 220 个字符。

我现在要做的是在单击具有完整值 [1] 的“显示更多...”链接时显示一个对话框或工具提示(现在有一个 showDesc(); 函数什么都不做)。到目前为止,我通过使用以下方法将其显示在 javascript 警报中:

onclick="javascript:alert(\' ' + value[1] + ' \');return false;"

而不是一个函数,但我不喜欢警报的外观,尤其是在 IE 中。如果我尝试使用一个函数,我似乎无法将它放在一个可以获取 value[1] 数据的地方。我可以在链接上的 onclick 事件中使用 Dojo 或 javascript 中的任何内容来显示 value[1] 的内容吗?

4

1 回答 1

0

我能够为 dojo 对话框调用函数并将值作为参数传递给 dojo 对话框!我也花了一段时间才意识到,在格式化程序中,我需要使用 \ 来转义一些用于构建返回字符串的 ' 字符,同时将值作为参数插入。

elliotDialog = new dijit.Dialog({
  title: "My Dialog",
  content: "test content",
  style: "width: 450px"
});

showDesc = function(layer, layer2){
 // set the content of the dialog:
elliotDialog.set("title", layer2);
 elliotDialog.set("content", layer);
 elliotDialog.show();
};

格式化程序中的 onclick 如下所示:

onclick="showDesc(\'' + value[1] + '\',\'' + value[0] + '\');return false;"
于 2013-08-29T18:37:37.693 回答