[ jQuery/Datatable ]:数据表无响应,禁用输入搜索
[ jQuery/Datatable ]: datatables not responsive, disable an input search
我按照jQuery DataTables上的示例进行操作,以便使用选择输入搜索制作数据表。
这是我的 html 代码示例:
<div class="jumbotron">
<table id="dataTables" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Référence</th>
<th>Activité(s)</th>
<th>Parc immobilier</th>
<th>Nom du Bâtiment</th>
<th>Ensemble</th>
<th></th>
</tr>
</thead>
<tfoot>
<tr>
<th>Référence</th>
<th>Activité(s)</th>
<th>Parc immobilier</th>
<th>Nom du Bâtiment</th>
<th>Ensemble</th>
<th></th>
</tr>
</tfoot>
<tbody>
{% for batiment in batiment %}
<tr>
<td>{{ batiment.referencebatiment }}</td>
<td>
{% for batiment in batiment.typesactivite %}
{{ batiment.type }}
<br>
{% endfor %}
</td>
<td>{{ batiment.ensembles.parcsimmobilier }}</td>
<td>{{ batiment.nom }}</td>
<td>{{ batiment.ensembles }}</td>
<td><a href=""><button class="btn btn-edit btn-xs sharp">Modifier</button></a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
所以这是我的数据表的javascript代码:
$(document).ready(function() {
$('#dataTables').DataTable( {
responsive: true,
//enlever la recherche sur une colone, ici la colone 2 et 4 => Office et Date. Attention 0 est une valeur, les colones commencent donc à partir de 0
"aoColumnDefs": [
{ "bSearchable": false, "aTargets": [ 5 ] }],
//
//langue française
"language": {
"sProcessing": "Traitement en cours...",
"sSearch": "Rechercher :",
"sLengthMenu": "Afficher _MENU_ éléments",
"sInfo": "Affichage de l'élement _START_ à _END_ sur _TOTAL_ éléments",
"sInfoEmpty": "Affichage de l'élement 0 à 0 sur 0 éléments",
"sInfoFiltered": "(filtré de _MAX_ éléments au total)",
"sInfoPostFix": "",
"sLoadingRecords": "Chargement en cours...",
"sZeroRecords": "Aucun élément à afficher",
"sEmptyTable": "Aucune donnée disponible dans le tableau",
"oPaginate": {
"sFirst": "Premier",
"sPrevious": "Précédent",
"sNext": "Suivant",
"sLast": "Dernier"
},
"oAria": {
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
}
},
initComplete: function () {
var api = this.api();
api.columns().indexes().flatten().each( function ( i ) {
var column = api.column( i );
var select = $('<select><option value=""></option></select>')
.appendTo( $(column.footer()).empty())
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
});
column.data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' );
});
});
}
});
});
如您所见,我更改了法语语言,并禁用了对列 5 的搜索,因为我不希望允许用户基于此列进行搜索。因此,第 5 列上的语言更改和禁用搜索效果非常好。
为什么我的数据表无法正确显示。引导响应式设计不是很好崩溃吗?如何禁用列中的搜索(没有输入text
或列下的tfoot
select
?
我该怎么做?
谢谢你的帮助。
就像@Gab在他的回答中提到的,你需要像这样导入 jQuery dataTables 的 cdn:
首先,您需要禁用或删除文件夹中的数据表 CSS,否则它不匹配或正确显示您的<table>
。
然后导入 CDN:CSS: //cdn.datatables.net/responsive/1.0.3/css/dataTables.responsive.css
JS: //cdn.datatables.net/responsive/1.0.3/js/dataTables.responsive.js
以防万一,如果您的<table>
中有任何其他数据,例如编辑按钮,链接,则必须禁用此列的搜索,否则数据表将出现一些显示问题。
请在此处执行此操作,以禁用或不显示您不想要的<tfoot>
中的搜索输入。
您是否尝试导入此处提到的 CDN
CSS: //cdn.datatables.net/responsive/1.0.3/css/dataTables.responsive.css
JS: //cdn.datatables.net/responsive/1.0.3/js/dataTables.responsive.js
- 用程序搜索JQuery数据表中的文本
- 在html Select中添加搜索
- Ajax Live搜索发布到Laravel视图
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- 学生搜索项目jquery/javascript
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 请求一个完整的响应对象,而不是紧凑的响应对象foursquare场地搜索api
- [ jQuery/Datatable ]:数据表无响应,禁用输入搜索
- 如何使用 jQuery 或 CSS3 使搜索栏响应式
- 如何使GoogleAdSense(自定义搜索广告)具有响应性(引导)
- 为复选框列表 - 动态响应列表创建一个过滤器搜索框
- 正在搜索响应式下拉菜单
- 在具有响应表的表顶部进行列搜索
- js错误:搜索失败:没有响应"goto"
- 流星响应式搜索代码未运行
- 正在JSON响应中搜索关键字
- 输入表单旁边的搜索按钮的响应式解决方案
- 输入搜索字段在响应式网站的移动版本上正常工作
- 为什么这个二进制搜索实现会使浏览器无响应?
- 如何使用$.ajax()函数从搜索栏中获取URL并在DIV中显示HTML响应