gpt4 book ai didi

javascript - jQuery 数据表 - 当输入中有 html/images 时,按选择输入进行过滤

转载 作者:行者123 更新时间:2023-11-27 23:38:18 25 4
gpt4 key购买 nike

我正在尝试使用选择输入 DataTables with select inputs DEMO 来过滤我的表

我遇到的问题是我的<table> <td> 内有多个图像/ Sprite 等我希望数据表使用 <span class="hidden-val">其中的值。

示例:

<tr>
<td>
<span style="display:none" class="hidden-val">23</span>
<i class="my-sprite-abc>My Logo</i>
</td>
</tr>

我通过将字符串转换为 DOM HTML 来管理数据表以显示正确的选择输入值,然后获取 innerText ,但我仍然在努力解决 column.search.draw()部分,因为我不知道如何教数据表使用隐藏的跨度值。

$('#my-table').DataTable( {

initComplete: function () {
this.api().columns().every( function () {
var column = this;
var select = $('<select><option value=""></option></select>')
.appendTo( $(column.footer()).empty() )
.on( 'change', function () {
console.log($(this).val());
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);

column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
} );

column.data().unique().sort().each( function ( d, j ) {
var html_val = $.parseHTML(d)
//console.log(html_val);

if (html_val != null){ // check if html is not null
var new_d = $(html_val)[0].innerText // take first html object <span> in this case
select.append( '<option value="'+new_d+'">'+new_d+'</option>' )
}

} );
} );
}
} );

谢谢,如果你能帮我解决这个问题!

Select Input

最佳答案

您可以创建一个 type based search plugin允许您仅过滤 hidden-val :

jQuery.fn.dataTable.ext.type.search.hiddenVal = function(data) {
return $('<div>').append(data).find('.hidden-val').text()
}

并将其设置为具有 hidden-val 的列的 type :

...
columnDefs: [
{ type: "hiddenVal", targets: [0] } //fist column as example
],
...

演示 -> http://jsfiddle.net/dtuv0qhj/

关于javascript - jQuery 数据表 - 当输入中有 html/images <td></td> 时,按选择输入进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33936216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com