2013-04-01 24 views
3

我有一些奇怪的问题,其中工具提示仅在第1页上工作。如果我点击下一页,则看不到任何工具提示。数据表工具提示在第二页中不起作用。仅适用于第一页

我正在使用jQuery数据表。我的示例代码是在jsfiddle:http://jsfiddle.net/agorur/3r54F/

任何想法?

var data = { 
    "sEcho": 1, 
     "iTotalRecords": 6416, 
     "iTotalDisplayRecords": 5, 
     "aaData": [{ 
     "0": 421367, 
      "1": "Test1", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:12 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421368, 
      "1": "Test2", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:12 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421369, 
      "1": "Test3", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:12 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421370, 
      "1": "Test4", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:13 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421371, 
      "1": "Test5", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:13 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    },{ 
        "0": 421372, 
      "1": "Test1", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:12 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421373, 
      "1": "Test2", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:12 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421374, 
      "1": "Test3", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:12 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421375, 
      "1": "Test4", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:13 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421376, 
      "1": "Test5", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:13 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, 
        { 
     "0": 421377, 
      "1": "Test4", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:13 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }, { 
     "0": 421378, 
      "1": "Test5", 
      "2": "NEW", 
      "3": "Default", 
      "4": "18 Aug 2011 20:27:13 GMT", 
      "5": "TestBench", 
      "6": "NA" 
    }] 
}; 

$(document).ready(function() { 
    $('#events').dataTable({ 
     "bProcessing": true, 
      "aaData": data.aaData, 
      "bJQueryUI": true, 
      "sPaginationType": "full_numbers", 
      "aoColumns": [{ 
      "mData": "0" 
     }, { 
      "mData": "1" 
     }, { 
      "mData": "2" 
     }, { 
      "mData": "3" 
     }, { 
      "mData": "4" 
     }, { 
      "mData": "5" 
     }, { 
      "mData": "6" 
     }, ] 
    }); 


    $("#events tbody tr").each(function() { 
     this.setAttribute('title', 'ToolTip'); 
    }); 
}); 
+0

当你在寻呼节接下来的点击,然后尝试再次添加该属性... –

+0

http://stackoverflow.com/questions/7407111/detect-page-change-on-datatable审查此\ –

回答

6

如果我点击下页,我没有看到任何工具提示。

,这是因为你被设定的document.ready功能title属性...所以这适用于该文件中发现,当准备好文档,而不是对于那些在其他页面中的所有<tr>这当你按next时出现...

一个办法是做一个函数,并在document.ready中调用它,然后点击...(虽然不是一个有效的方法..)(你可能需要这个用于prev点击)

试试这个

function toolTip() { 
    $("#events tbody tr").each(function() { 
    this.setAttribute('title', 'Ajay'); 
    }); 
} 

$(document).ready(function() { 
    ... 
    toolTip(); //<--- call this when document is ready so it gets all tr 
    $('.next').click(function() { 
    toolTip(); //and in next click which gets for next tr 
    }); 
}); 

fiddlehere

+0

下次点击工作正常。但是如果我有更多的页面数量,如果我点击第2,3,4页......它不工作。任何想法 ? – Think

+0

没关系我在$('。pagination')上添加了点击事件,似乎工作正常。感谢@bipen – Think

+0

哎...已经不在了....迟到,无论如何看到你的评论..高兴地自己解决了它.. :) ..欢呼声......欢迎...快乐编码.. :) – bipen

1

我知道这是有点晚了,但我只是碰到了类似的问题,这将是我的解决方案如何适用于你的情况。

DataTables有一个$函数,它像普通的jQuery $函数一样工作,只是它被限制在数据表的那个实例上。 http://datatables.net/api若要选择数据表实例的每一行,请执行以下操作:$('#id').dataTable().$('tr');

使用此标题属性将在每次用户单击下一次时分配一次。它也适用于数据表的所有页面。

为您实现它会像这样工作:(jsFiddle

$(document).ready(function() { 
    $('#events').dataTable({ 
     "bProcessing": true, 
      "aaData": data.aaData, 
      "bJQueryUI": true, 
      "sPaginationType": "full_numbers", 
      "aoColumns": [{ 
      "mData": "0" 
     }, { 
      "mData": "1" 
     }, { 
      "mData": "2" 
     }, { 
      "mData": "3" 
     }, { 
      "mData": "4" 
     }, { 
      "mData": "5" 
     }, { 
      "mData": "6" 
     }, ] 
    }).$("tr").each(function() { 
     this.setAttribute('title', 'Ajay'); 
    }); 
}); 
1

只是在你的js文件或者脚本中添加以下代码。 ();(“a [rel ='tooltip']”)。tooltip();

,但不包括它的document.ready()函数

1

更好的解决方案

在您的数据表包含此代码

"drawCallback": function(settings) { 

          toolTipShow(); // your tootlip function. 

         }, 
相关问题