jqgrid在弹出框中显示图像

时间:2011-08-29 08:08:09

标签: jqgrid prettyphoto

我在我的应用程序中使用了jqgrid和prettyphoto 我有一列显示图像预览。单击该图像时,图像将显示在弹出框中 网格代码是......

.....  
{name: 'imagePath', index: 'imagePath', width: 80, align: 'center',
    formatter :anchorFmatter, edittype: 'text', hidden: false, editable: true,
    editrules: {required: false}, editoptions: {size: 30}}
....
function anchorFmatter(cellValue, options, rowObject)
{
    if(cellValue === null ){
        return "<a></a>";
    }else {
        jQuery("a[rel='image']").prettyPhoto({
            animation_speed:'normal',
            show_title:false,
            allow_resize:true,
            default_width:640,
            default_height:385,
            theme:'light_rounded',
            autoplay:false
        });

        return "<a href='" + cellValue + "' rel='image'><img src='" + cellValue +
               "' width='100' height='35'></a>";
    }
}   

网格中的所有图片都会弹出,但最后一张图片会显示在新的浏览器页面中 可以得到任何帮助 提前致谢

1 个答案:

答案 0 :(得分:1)

custom formatter内部,网格包含仍然作为字符串存在但尚未放置在页面上。因此,您应该从formutter函数中删除调用jQuery("a[rel='image']").prettyPhoto。而不是你可以调用loadComplete事件处理程序中的jQuery("a[rel='image']").prettyPhoto。此外,如果您尚未使用gridview:true选项,则应使用{{1}}选项。它将改善电网性能。