使用ajax

时间:2017-05-30 09:20:10

标签: javascript jquery ajax twitter-bootstrap

我尝试的相应部分在这里:

$(".popovers").mouseover( function()
{
    //var mainTableBody = document.getElementById("subCriteriaTableBody");
    var tableRows = document.getElementsByClassName("popoversBlock");
    var i = 0, j = 0;
    for (i = 0; i < tableRows.length; i++) 
    {
        var labelList = tableRows[i].getElementsByTagName("label");             
        var tdList = tableRows[i].getElementsByClassName("popovers");               
        for (j = 0; j < labelList.length; j++) 
        {
            if(labelList[j].parentElement.parentElement.rowIndex == tdList[j].parentElement.rowIndex) 
            {   
                attName = $(this).text();   
                var attributeName = attName.slice(0, -1);   
                $.ajax({
                    url:'/diganta/getPopoverValueReassignTaskOfUser.do?attributeName='+attributeName,  
                    type:'post',  
                    dataType: 'json',  
                    success: function(data) {
                        $('.popovers').attr('data-content', data.PopoverValue); 
                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        alert("Failed! Reason: "+ thrownError);
                    }
                });
                break;
            } 
            else 
            {
                continue;
            }
        }
    }
});

当我鼠标悬停时,我看到请求已经完成,但是没有填充弹出窗口。我第一次看不到弹出窗口的JSP页面,但第二次可以将它添加到DOM中。

请帮帮我.... 提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果问题仅在第一次出现并且之后有效,则可能会丢失:

$(document).ready(function(){
   ...
});

另一个建议,quoting W3C page

  

Popovers不是仅支持CSS的插件,因此必须使用jQuery进行初始化:选择指定的元素并调用popover()方法。

答案 1 :(得分:1)

您需要致电

$('.popovers').attr('data-content', data.PopoverValue).popover('show');

显示Popover

希望它能解决你的问题...

修改

$('#your_lable_id').attr('data-content', data.PopoverValue).popover('show');