【问题标题】:EditableGrid - How to make every column header into individual filterEditableGrid - 如何使每个列标题成为单独的过滤器
【发布时间】:2019-02-22 09:04:08
【问题描述】:

我正在使用 EditableGrid (http://www.editablegrid.net/) 创建一些漂亮的可编辑表格

我正在尝试修改表头以使其成为单独的过滤器,例如示例 - https://phppot.com/demo/column-search-in-datatables-using-server-side-processing/

当前过滤器文本框工作得非常好,但限制了为所有列搜索一个值。

我为单个列过滤器找到了许多解决方案,但我不想使用其他表格,因为它们不提供带有下拉和日期选择器的内联表格编辑功能,有没有办法可以在 EditableGrid 中实现它?

我也在 Github (https://github.com/webismymind/editablegrid-mysql-example/issues/66) 上提出了这个问题,但是该线程很长时间没有处于活动状态,所以我几乎没有希望从那里得到解决方案。

【问题讨论】:

  • 试试 phpgrid.org
  • 我试过了,但精简版没有编辑功能

标签: javascript php jquery mysql editablegrid


【解决方案1】:

在 index.html 中更新此代码:查看 //new code ---- 开始和 //new code ---- 结束的位置,试试看..

<script type="text/javascript">

                var datagrid; 

                window.onload = function() { 
                  datagrid = new DatabaseGrid();

//new code ---- starts 

var list = document.getElementsByTagName("thead")[0];
for(var i = -1; i < list.childNodes.length; i++){

    var input = document.createElement("input");
                input.type = "text";
                input.className = "filter";
  list.getElementsByTagName("th")[i+1].appendChild(input);
}
var z = document.getElementsByClassName('filter')
for(var i = 0; i< z.length; i++){
  z[i].addEventListener("input", function(e){      

  datagrid.editableGrid.filter( e.target.parentNode.querySelector("input").value, [i]);
  })
}  

//new code ---- ends

                    // key typed in the filter field
                    $("#filter").keyup(function() {
                      datagrid.editableGrid.filter( $(this).val());
                        // To filter on some columns, you can set an array of column index 
                        //datagrid.editableGrid.filter( $(this).val(), [0,3,5]);
                      });
                    $("#showaddformbutton").click( function()  {
                      showAddForm();
                    });
                    $("#cancelbutton").click( function() {
                      showAddForm();
                    });
                    $("#addbutton").click(function() {
                      datagrid.addRow();
                    });


        } 
    $(function () { 
        });
            </script>

【讨论】:

  • 那是问题 editablegrid 索引页面没有 TD TH 标签表正在创建一个下
    标签 (github.com/webismymind/editablegrid-mysql-example/blob/master/…)
  • 这应该不是问题
  • 好的,如果我把这个函数 init() 放在 HTML 页面中它会起作用吗?我必须把 somwhare 正确。
  • 输入字段为 class=”filter” 进入表头,所有像 的其他 html 都可以跳过
  • 您是否有机会查看可编辑网格的编码 (github.com/jybeaujean/editablegrid-mysql-example),我想您在了解可编辑网格结构后可能会帮助我。感谢您投入时间来帮助我。
猜你喜欢
相关资源
最近更新 更多
热门标签