我想改变"搜索"过滤器输入旁边的文本内容。 我使用表格模板并生成搜索过滤器,我想更改搜索文本,因为我想使用其他语言。
使用开发工具我发现div id是 user_data_filter ,它位于标签元素下。
我可以通过复制输入表单并更改搜索文本来改变这种情况
$('#user_data_filter label').html('Keresés: <input type="search" class="form-control input-sm" placeholder aria-controls="user_data">');
但是在我改变后,过滤器不起作用,我不知道为什么......
这是HTML:
<html>
<head>
<title>Iskola Tábla</title>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<script src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.15/js/dataTables.bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script>
<style>
body
{
margin:0;
padding:0;
background-color:#f1f1f1;
}
.box
{
width:1270px;
padding:20px;
background-color:#fff;
border:1px solid #ccc;
border-radius:5px;
margin-top:25px;
box-sizing:border-box;
}
</style>
</head>
<body>
<div class="container box">
<h1 align="center">Iskola Tábla</h1>
<br />
<div class="table-responsive">
<br />
<div align="right">
<button type="button" name="add" id="add" class="btn btn-info">Hozzáadás</button>
</div>
<br />
<div id="alert_message"></div>
<table id="user_data" class="table table-bordered table-striped">
<thead>
<tr>
<th>Ügyfél neve</th>
<th>Termék</th>
<th></th>
</tr>
</thead>
</table>
</div>
</div>
</body>
</html>
<script type="text/javascript" language="javascript" >
$(document).ready(function(){
fetch_data();
function fetch_data()
{
var dataTable = $('#user_data').DataTable({
});
}
});
</script>
&#13;
有人可以帮助我使用工作过滤器更改搜索文字内容吗?
答案 0 :(得分:1)
这些标签和控件是数据表的一部分,在初始化之前不可用。如果您真的想继续这种方法,可以使用回调函数:
var dataTable = $ ('#user_data').DataTable({
"initComplete": function (settings, json){
$('# user_data_filter label').html('Keresés: <input type = "search" class = "form-control input-sm" placeholder aria-controls="user_data">');
}
});
但是,如果我理解正确,您希望以其他语言显示数据表。因此,我强烈建议您仔细查看数据表已经为您带来的许多选项,而不是尝试重新发明轮子。
答案 1 :(得分:0)
您的代码似乎工作正常,您的$('#user_data_filter label').html('...');
行是否已放入$(document).ready
函数?这对我有用。
如果您想让替换更加动态,可以只替换“搜索”字样。该代码看起来像这样,也可以放在$(document).ready
函数中。
var labelElem = $("#user_data_filter > label");
var newText = labelElem.html().replace("Search", "Keresés");
labelElem.html(newText);