【问题标题】:how to apply bootstrap tooltip to a dynamic generated table如何将引导工具提示应用于动态生成的表
【发布时间】:2014-01-28 08:44:00
【问题描述】:

我有一个用数据库中的数据填充的表,我想在此添加引导工具提示,因此当有人将鼠标悬停在表中的一行上时,他的详细信息将得到显示。在那个工具提示中我想添加一个图像,我可以在工具中这样做吗?这是我动态生成的表格。

$(document).ready(function () {
    $('#DisplayTable').tooltip({
        'show': true,
        'placement': 'bottom',
        'title': "Please remember to..."
    });
});

function Table(x) {
    var statusCol = "";
    var table = '<table><tr><th>First Name</th><th>Surname</th><th>Surname</th></tr>';
    var ID = 0;
    for (var student in x) {

        var row = '<tr class=\'staff-row\'id=\'' + x[id].ID + '\'</tr>';
        var row = '<tr class=\'staff-data\'id=\'' + x[id].Age + '\'</tr>';

        row += '<td>' + x[student].fNanme + '</td>';
        row += '<td>' + x[student].sName + '</td>'
        row += '<td>' + x[student].username + '</td>'
        ID++;
        table += row;
    }
    table += '</table>';
    $('#DisplayTable').html(table);
    $('#DisplayTable').tooltip({
    'show': true,
    'selector':'.staff-row, .staff-data',
    'placement': 'bottom',
    'title': function(event){
        var tds=$(this).find('td');            
        var tds=$(this).find(x[id].Age);            
        return $(tds[0]).text()+" "+$(tds[1]).text()+$(tds[3]).text();
    },        
});

}

但是当我将鼠标悬停在记录上时工具提示不起作用?

        function Method(a,b,c) {
        $.ajax({
            type: "POST",
            url: "Services/method.asmx/SomeMethod",
            data: JSON.stringify({ a: a, b: b, c: c }),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
            }
        });
    }

【问题讨论】:

    标签: javascript jquery asp.net twitter-bootstrap


    【解决方案1】:

    尝试设置:

    $('#DisplayTable').tooltip({
            'show': true,
            'placement': 'bottom',
            'title': "Please remember to..."
        });
    

    而不是$('#DisplayTable').tooltip('show');

    jsfiddle 示例:

    <div id="DisplayTable"><span>Some template text</span></div>
    <input type="button" id="clickMe" value="clickMe"/>
    
        $(document).ready(function () {
        $('#clickMe').click(function(){
            Table(1);
        });
    });
    
    function Table(x) {
        var statusCol = "";
        var table = '<table><tr><th>First Name</th><th>Surname</th><th>Surname</th></tr>';
        var ID = 0;
        for (var i=0;i<10;i++) {
    
            var row = "<tr age='"+(12+i)+"' class='staff-row' id='" +"ColId"+i + "'>";
    
            row += '<td>' + "FName" + '</td>';
            row += '<td>' + "SName" + '</td>'
            row+="</tr>"
            ID++;
            table += row;
        }
        table += '</table>';
        $('#DisplayTable').html(table);
        $('#DisplayTable').tooltip({
            'show': true,
            'selector':'.staff-row',
            'placement': 'bottom',
            'title': function(event){
                var $this=$(this);
                var tds=$this.find('td');            
                return $(tds[0]).text()+" "+$(tds[1]).text()+" age: "+$this.attr("age");
            },        
        });
    }
    

    【讨论】:

    • 我替换了 $('#DisplayTable').tooltip('show');使用上面的代码,但它不起作用。我的表是根据数据库生成的。这可能是它不工作的原因吗
    • 它可以工作:) 如果我有一个在我更新的问题中显示的方法,我将如何将对象 a、b 和 c 传递给工具提示? a=人的年龄,b=他的婚姻状况,c=他的国家?但我不希望这些信息显示在我的表格中
    • 您可以将它们设置为 标签的数据属性:例如 - 然后就可以了用 jQuery $(this).attr("age"); 读取它
    • 我已经更新了我的问题,我已经向我的选择器添加了额外的参数:以及我从数据库中获取的数据,所以我为 Age 创建了另一个 var 行等。但它不起作用?
    • 我已经更新了我的代码,当我返回 $(tds[3]).text() 时它可以工作。但它返回用户名,这是我表中的第三列。如果我想得到一个人的年龄怎么办。因此,我为我的表中未包含的信息(如年龄)创建了工具提示。因此,年龄婚姻状态等信息将出现在我的工具提示中。
    猜你喜欢
    • 2012-11-11
    • 1970-01-01
    • 2016-11-05
    • 2014-05-17
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    相关资源
    最近更新 更多