在jqgrid自定义格式化单元格上应用Jquery工具提示

时间:2014-01-08 17:44:30

标签: jquery jqgrid tooltip

我拼命想在某个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路径。

提前感谢您的帮助

2 个答案:

答案 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/356218https://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 '';
     }
}