繁体   English   中英

DataTables搜索和过滤包含输入字段的动态添加的行

[英]DataTables search and filter dynamically added rows that contain input fields

http://jsfiddle.net/v7rjqogy/15/

有两件事是错误的。 第一:

当我添加新行,然后在输入中填写一些文本时,如何使用搜索功能?

其次(这一点更重要)

您会注意到,我在页面顶部添加了一个自定义过滤器:强度:和按剂量下拉列表。 这些与表格中的强度和剂量列相对应。 我添加了代码以使其按这些进行搜索,但是它始终不显示任何返回的行。

$(document).ready(function () {

    $.fn.dataTableExt.ofnSearch["html-input"] = function (value) {
        return $(value).val();
    };

    var table = $("#lines").DataTable({
        "searching": true,
        "ordering": true,
        columnDefs: [
            { "targets": [15, 16], "searchable": false, "orderable": false },
            { "type": "html-input", "targets": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] }
        ],

    });

    $("#lines td input").on("change", function () {
        var td = $(this).parent();

        console.log($(this).parent().find("input").val());
        table.row($(this).closest("tr")).invalidate();
    });

    // Apply the search
    $("#strength_search").on("change", function () {
        table
            .columns(6)
            .search(this.value)
            .draw();
    });
    $("#dose_search").on("change", function () {
        table
            .columns(7)
            .search(this.value)
            .draw();
    });

});

此处无法粘贴太多HTML。 小提琴将向大家展示。

在主表下创建如下所示的内容:

 <table>
    <tr><th>Brand Name</th></tr>
    <tr><td><input id="abrand_name0" name="brand_name[]" value="" size="15" type="text"></td></tr>
        <tr><td><button id="insert" onclick="">Insert line</button></td><tr>
</table>

并添加行:

var oTable =  $('#lines').dataTable();
    oTable.fnAddData( [
        "<input name='brand_name[]' id='brand_name" + servln + "' size='15' value="+$('#abrand_name0').val()+ ">"]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM