使用具有非表格布局的jQuery数据表

前端之家收集整理的这篇文章主要介绍了使用具有非表格布局的jQuery数据表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的应用程序要求管理员从1000个可用名称的大型列表中创建名称的子组.我希望他们看到所有的名字,并能够通过在搜索框中输入来缩小可见项目,以便他们可以选择他们想要的东西.结果可能是逗号分隔的列表或数组.在这种情况下,Chosen / Select2行为无用.

理想的解决方案是拥有像Datatables这样的东西,你可以看到所有项目并实时缩小结果,但是,因为我只有名字,我更喜欢网格布局来最大化空间,而不是表格布局.我可以在表格上使用数据表而不是在任何其他元素上吗?

此外,虽然没有相关的数据表,你能指出我的其他解决方案来实现这种在页面上实时过滤可见元素的场景吗?

最佳答案
有可能,前段时间我用它来做同样的事情.您需要覆盖row-callback function中的行输出并在init-callback中执行一些html修改.

这是展示该作品的情况(不介意它们是随机的图像;):

您需要以json格式将数据插入数据表,然后更改每个记录的渲染输出.这是一个小小的黑客,但它是可管理的.

编辑示例:(它有一些粗糙的边缘,但它的工作原理;)

  1. $('#example').dataTable({
  2. "data": [
  3. // some rows data
  4. ['Trident','Internet Explorer 4.0','Win 95+','4','X'],['Trident','Internet Explorer 5.0','5','C'],'Internet Explorer 5.5','5.5','A'],'Internet Explorer 6','Win 98+','6','A']
  5. ],"columns": [
  6. { "title": "Engine" },{ "title": "Browser" },{ "title": "Platform" },{ "title": "Version","class": "center" },{ "title": "Grade","class": "center" }
  7. ],"initComplete": function(settings,json) {
  8. // show new container for data
  9. $('#new-list').insertBefore('#example');
  10. $('#new-list').show();
  11. },"rowCallback": function( row,data ) {
  12. // on each row callback
  13. var li = $(document.createElement('li'));
  14. for(var i=0;i
  1. ul{
  2. margin: 0;
  3. padding: 0;
  4. list-style-type: none;
  5. text-align: center;
  6. }
  7. ul li {
  8. display: inline-block;
  9. width: 100px;
  10. border: 1px #CCC solid;
  11. padding: 10px;
  12. margin: 3px;
  13. }
  14. ul li p {
  15. margin-top: 2px;
  16. margin-bottom: 2px;
  17. }
  18. .dataTables_length {
  19. width: 50%;
  20. }
  21. .dataTables_filter {
  22. width: 50%;
  23. }

猜你在找的jQuery相关文章