我拼命想在某个jqgrid单元格上实现jquery工具提示。我将单元格格式化为具有这样的标题:
<td role="gridcell" style="" title="Toto, Tata" aria-describedby="MyTaskUserView_TaxpayerName">
<span class="fullCellSpan customTooltip" title="123456" originalvalue="Toto Tata">Toto Tata</span>
</td>
我试图在我的span上调用工具提示,其中包含标题:
$("td span.customTooltip").tooltip();
我不明白为什么它不起作用。
如果我这样称呼它
$(document).tooltip();
它会起作用,但它会在每个元素上应用工具提示,这些元素的标题元素不是我想要的。
就好像它没有识别出我不明白的html路径。
提前感谢您的帮助
答案 0 :(得分:0)
我发现了这个错误,当我调用工具提示时,网格还没有完成加载。 由于我使用了JqGrid ASP.NET MVC许可证,因此我使用模型的ClientSideEvents.GridInitialized属性来了解网格何时加载,然后触发工具提示。
MyGrid.ClientSideEvents.GridInitialized = "initGrid";
function initGrid() {
$("td span.fullCellSpan").tooltip({
hide: {
effect: "fade",
duration: 500
},
position: {
my: "left center",
at: "right top",
collison: "flip"
},
show: {
effect: "fade",
duration: 800
}
});
}
希望这可以帮助其他用户。
答案 1 :(得分:0)
更新的方法是在asp.net库中使用cellattr
函数:
<Formatter>
<trirand:CustomFormatter SetAttributesFunction="clientSideFunctionName" />
</Formatter>
可在此处找到更多详细信息:https://stackoverflow.com/a/5281391/356218和https://stackoverflow.com/a/12215880/356218
和JS看起来像:
function clientSideFunctionName(rowId, tv, rawObject, cm, rdata) {
//conditional formatting
if (Number(rawObject[colMap.missingBooks]) > 0) {
return ' style="background-color:#FFCCCC" title="tooltips are cool!"';
} else {
return '';
}
}