Search code examples
jquerytwitter-bootstrappopoverbootstrap-popover

Bootstrap Popover is not working on last row


I am using Bootstrap popover. It doesn't show on last row. I am using jquery each function to loop.

Here is the code:

HTML:
<table id="Tableid" class="table " >
</table>


JS:

var table = $('#Tableid');
var hostId = 1;
var count = 0;
var row = $('<tr></tr>').addClass('test');
for(var i=0; i<10; i++){            

    for(j=0; j<3; j++){

        var button = "<button data-content = \""+hostId+"\" data-id=\""+hostId+"\"class=\"btn btn-primary btn-lg open-InfoModal\" data-toggle=\"modal\" rel=\"popover\" data-target=\"#hostInfo\" href=\"#infoModal\"></button>";
           $("[rel='popover']").popover({trigger: "hover"});

        var cell = $('<td style="text-align:center">'+hostId+'</td>').addClass('test').wrapInner(button);    //We use wrapInner to add HTML content
        hostId++;
        row.append(cell);
    }
    if(count<1) {
        count++;
    } else {

    table.append(row);
    row = $('<tr></tr>').addClass('test');
    count = 0;
    }
}

Here is my JSFiddle


Solution

  • Try This

    var table = $('#Tableid');
    var hostId = 1;
    var count = 0;
    var row = $('<tr></tr>').addClass('test');
    for(var i=0; i<10; i++){            
    
        for(j=0; j<3; j++){
    
            var button = "<button data-content = \""+hostId+"\" data-id=\""+hostId+"\"class=\"btn btn-primary btn-lg open-InfoModal\" data-toggle=\"modal\" rel=\"popover\" data-target=\"#hostInfo\" href=\"#infoModal\"></button>";
    
            var cell = $('<td style="text-align:center">'+hostId+'</td>').addClass('test').wrapInner(button);    //We use wrapInner to add HTML content
            hostId++;
            row.append(cell);
        }
        if(count<1) {
            count++;
        } else {
    
        table.append(row);
            row = $('<tr></tr>').addClass('test');
            count = 0;
        }
    }
    
    $("[rel='popover']").each(function(i, e){
        $(e).popover({trigger: "hover"});
    });
    

    Check it here JsFiddle