使用jqGrid
中的关注:
colModel: [
{name:"",index:"",width:100},
{name:"diagnosis",index:"diagnosis",width:100,formatter:fancyBoxFormatter},
{name:"prescription", index:"prescription",width:100,formatter:fancyBoxFormatter},
{name:"tests",index:"tests",width:100,formatter:fancyBoxFormatter},
{name:"imaging",index:"imaging",width:100,formatter:fancyBoxFormatter},
{name:"generic",index:"generic",width:100,formatter:fancyBoxFormatter},
{name:"referral",index:"referral",width:100,formatter:fancyBoxFormatter},
{name:"management",index:"management",width:100,formatter:fancyBoxFormatter},
{name:"completed",index:"completed",width:100}
],
然后:
function fancyBoxFormatter(cellvalue, options, rowObject) {
var result,
link,
fancyBoxHTML,
fancyBoxContent;
link = "<a class=\"fancybox\" href=\"#data" + options.rowId + "\">" + cellvalue + "</a>";
fancyBoxContent = cellvalue;
fancyBoxHTML = "<div style=\"display:none\"><div id=\"data" + options.rowId + "\">" + fancyBoxContent + "</div></div>";
return link + fancyBoxHTML;
}
这在Fancybox中为行中的所有单元格显示相同的内容(基于rowID ...)如何将此功能更改为单个单元格ID,而不仅仅是整行?
答案 0 :(得分:1)
请在jqGrid中写下您使用(可以使用)的jqGrid的版本以及您使用的 fork (free jqGrid,商业广告Guriddo jqGrid JS或版本中的旧jqGrid&lt; = 4.7)。
自定义格式化程序options
的{{1}}参数包含fancyBoxFormatter
,rowId
,colModel
,gid
和pos
属性(rowData
仅存在于免费的jqGrid fork中)。因此,您可以使用,例如,
rowData
此外,您必须修复第一列的function fancyBoxFormatter (cellvalue, options) {
return "<a class=\"fancybox\" href=\"#data" +
options.rowId + "_" + options.colModel.name + "\">" + cellvalue + "</a>" +
"<div style=\"display:none\"><div id=\"data" +
options.rowId + "_" + options.colModel.name + "\">" +
cellvalue + "</div></div>";
}
属性。一个人不能使用空name
(参见name
)。对于name:""
,您可以使用任何唯一值来保存HTML5 / CSS中存在的规则(例如没有空格)。
我建议您另外从所有列中删除不需要的name
属性和常见index
选项。您可以使用jqGrid的width:100
选项,而不是在每列中放置width:100
。