Bootstrap生成的重命名标签



我想更改过滤器输入旁边的"搜索"文本内容。我使用表模板并生成搜索过滤器,我想更改 search 文本,因为我想使用其他语言。

使用开发工具我发现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>

有人可以帮助我更改 search 用工作过滤器更改文本内容吗?

这些标签和控件是数据塔的一部分,直到初始化才可用。如果您真的想继续使用此方法,则可以使用回调函数:

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">');
    }
});

但是,如果我正确理解您,您想以其他语言显示数据。因此,我强烈建议您仔细研究DataTable已经为您带来的许多选择,而不是试图重新发明轮子。

https://datatables.net/reference/option/language

https://datatables.net/manual/i18n

您的代码似乎可以正常工作,您的$('#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);

jsfiddle示例。

最新更新