【问题标题】:MVC - How to display bootstrap tooltip for the cells with data ONLYMVC - 如何仅显示带有数据的单元格的引导工具提示
【发布时间】:2017-03-15 00:13:30
【问题描述】:

我有以下html

<tr class=@(item.Index % 2 == 0? "even" : "odd")>
    <td>@Html.DisplayFor(modelItem => item.Data.ProductId)</td>
    <td>@Html.DisplayFor(modelItem => item.Data.ProductName)</td>
    <td id="cost" title="@item.Data.ToolTip" data-toggle="tooltip" data-container="body" data-placement="right">@Html.DisplayFor(modelItem => item.Data.ProductCost,"Currency")</td>
    <td>@Html.DisplayFor(modelItem => item.Data.ToolTip)</td>
</tr>

还有一个jquery 用于切换工具提示:

$(function () {
    if ($('#cost').text() != '') {
        $('[data-toggle="tooltip"]').tooltip();
    }
});

我只想在单元格有数据的情况下显示tooltips。 我的方式似乎不起作用。 我错过了什么?

【问题讨论】:

    标签: jquery asp.net-mvc twitter-bootstrap tooltip


    【解决方案1】:

    在 td 中添加一个 span,并在 span 上添加工具提示。然后,如果跨度中没有内容 - 隐藏它。另请注意,您需要为表格设置唯一的 ID,以便如果您有多个具有此结构的行,则可能需要更改 #cost。

    <tr class=@(item.Index % 2 == 0? "even" : "odd")>
        <td>@Html.DisplayFor(modelItem => item.Data.ProductId)</td>
        <td>@Html.DisplayFor(modelItem => item.Data.ProductName)</td>
        <td id="cost"><span title="@item.Data.ToolTip" data-toggle="tooltip" data-container="body" data-placement="right">@Html.DisplayFor(modelItem => item.Data.ProductCost,"Currency")</span></td>
        <td>@Html.DisplayFor(modelItem => item.Data.ToolTip)</td>
    </tr>
    

    还有一个用于切换跨度的 jquery:

    $(function () {
      $('[data-toggle="tooltip"]').tooltip();
      $('#cost span').each(function(){
        if ($(this).text() === '') {
          $(this).hide();
        }
      });
    });
    

    【讨论】:

    • 成功了!你能解释一下,为什么span 修复了它?另外,我以不同的方式解决了它。我刚刚通过删除 ToolTip 元素的数据修改了 XML 文件,它也有效
    • 嘿-很高兴它起作用了-它起作用了,因为在原始示例中具有工具提示的 hte 元素是 td-无论其内容如何-通过使用跨度并用数据填充该跨度-然后有跨越的工具提示pon将它与td分开,所以如果它是空的-td没有要显示的工具提示..很高兴有帮助-欢呼:)
    猜你喜欢
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多