【问题标题】:Problems with JQuery keypress in Bootstrap-Table: data-toggle="table"Bootstrap-Table 中的 JQuery 按键问题:data-toggle="table"
【发布时间】:2019-01-23 05:06:47
【问题描述】:

我正在使用引导表 https://bootstrap-table.com/ 我正在尝试验证表中的输入,所以我使用的是 JQuery 按键功能。 但是当我尝试在表格内的输入上使用按键时它不起作用。 我尝试了很多方法,但唯一的方法是从我的表中删除: [data-toggle="table"] ,然后按键再次起作用。 你知道当我使用引导表时我可以做些什么来使用按键功能吗? 这是我的代码: (我正在使用:https://bootstrap-table.com/ 和 JQuery)

<table id="table_1" data-toggle="table" data-pagination="true">
    <thead>
         <tr>
            <th>
                ID
            </th>
            <th>
                Name
            </th>
         </tr>
    </thead>
    <tbody>
         <tr>
            <td>
                <input id="input_1" type="text" />
            </td>
            <td>
                <input id="input_2" type="text" />
            </td>
         </tr>
    </tbody>
</table>


<script>

$('#input_1').keypress(function() {
    alert('It works!');
});

$('#input_2').keypress(function() {
    alert('It works!');
});

</script>

【问题讨论】:

  • 我认为@MarkSkayff 所说的是真的,即使添加了引导脚本,我也无法重现相同的问题。如果 MarkSkayff 给出的解决方案没有解决问题,那么请发布您拥有的所有脚本,包括脚本 css 等。我们需要看到问题才能解决它。
  • 谢谢,两种解决方案都是正确的,因为@MarkSkayff 说这是一个重新渲染问题

标签: jquery bootstrap-table


【解决方案1】:

您可能会遇到 &lt;table&gt; 被 Bootstrap-Table 插件重新渲染的问题。

因此,您的事件正在丢失。

为避免这种情况(如果这是问题),您应该使用以下代码:

$('#table_1).on("keypress", "#input_1", function(e) {
    alert('It works!');
});

对另一个做同样的事情。您也可以将 #table_1 替换为 bodydocument 之类的东西,它可能会起作用。

【讨论】:

  • 正如你所说,我认为这是引导表的重新渲染问题,因为只使用: $('#input_1').keypress(function()... 它适用于元素不在表中。但是使用您的解决方案,它可以与引导表中的元素一起使用。谢谢。
  • 这是因为当插件重新渲染表格时,事件会丢失。我给你的解决方案是来自 jQuery 文档的官方解决方案。
【解决方案2】:

很难假设看到你的.js,但这里有一个例子。

确保您添加了boostrap-table.cssboostrap-table.js,而不是:

将此添加到您的 .js 文件中:

$(function () {

  $('#table_1').bootstrapTable();

  $('#input_1').keypress(function() {
      alert('It works!');
  });

  $('#input_2').keypress(function() {
      alert('It works!');
  });

});

这里正在工作example

【讨论】:

  • 谢谢,这很好用。似乎引导表有重新渲染问题,因为当我只使用: $('#input_1').keypress(function()... 它适用于不在表中的元素。但使用你的解决方案它可以工作表格内有元素。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 2019-04-09
  • 2018-02-10
  • 2015-09-19
  • 1970-01-01
相关资源
最近更新 更多