[英]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.