如何将bootstrap工具提示应用于动态生成的表

时间:2014-01-28 08:44:00

标签: javascript jquery asp.net twitter-bootstrap

我有从数据库填充数据的表,我想添加bootstrap工具提示这个,所以当有人悬停在表中的一行时,他的详细信息将显示出来。在该工具提示中我想添加一个图像,我可以在toolt中做到吗?这是我动态生成的表格。

$(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) {
            }
        });
    }

1 个答案:

答案 0 :(得分:2)

试着设置:

$('#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");
        },        
    });
}