【问题标题】:Pagination with data-toggle manipulation html使用数据切换操作 html 进行分页
【发布时间】:2015-12-30 23:54:53
【问题描述】:

我有这样的事情

<div class="container">
      <h2>Pagination - site</h2>
      <ul class="pagination">
        <li><a data-toggle="tab" href="#tab1">1</a></li>
        <li><a data-toggle="tab" href="#tab2">2</a></li>
        <li><a data-toggle="tab" href="#tab3">3</a></li>
      </ul>
    </div>
<div id="tabcont" class="tab-content">
   <div id="tab1" class="tab-pane">name1</div>
   <div id="tab2" class="tab-pane">name2</div>
   <div id="tab3" class="tab-pane">name3</div>
   <div id="tab4" class="tab-pane">name4</div>
   <div id="tab5" class="tab-pane">name5</div>
</div>
<script>
  var i = null;
  $('a').click(function(){
    console.log(i);
    console.log($(this).text());
    if($(this).text() >= 3){
      if(i < 3 || i === null){
        $('.pagination').html('<li><a data-toggle="tab" href="#tab2">2</a></li><li><a data-toggle="tab" href="#tab3">3</a></li><li><a data-toggle="tab" href="#tab4">4</a></li><li><a data-toggle="tab" href="#tab5">5</a></li>');
        }
        i = $(this.text);

      }else{
        if(i >= 3 || i === null){
        $('.pagination').html('<li><a data-toggle="tab" href="#tab1">1</a></li><li><a data-toggle="tab" href="#tab2">2</a></li><li><a data-toggle="tab" href="#tab3">3</a></li>');
   }i = $(this.text); }
  });
</script>

第一次代码工作正常并且分页但下次点击功能不起作用,我不知道为什么?

【问题讨论】:

  • 您正在用没有任何事件处理程序的新锚点替换所有锚点,这就是它不起作用的原因。您可能需要委托的事件处理程序。
  • 我尝试了委托事件和工作:)

标签: javascript jquery html twitter-bootstrap-3 pagination


【解决方案1】:

脚本的一个问题是i = $(this.text);,它应该是i = $(this).text();。在这里,当您需要字符串时,您将 i 设置为 jQuery 对象。

另一个问题是您正在替换绑定了事件处理程序的元素而不附加新事件。

尝试将$('a').click(handler) 更改为$(document).on('click', 'a',handler)

http://api.jquery.com/on/#on-events-selector-data

  var i = null;
  $(document).on('click', 'a[data-toggle="tab"]', function() {
    console.log(i);
    console.log($(this).text());
    if ($(this).text() >= 3) {
      if (i < 3 || i === null) {
        $('.pagination').html('<li><a data-toggle="tab" href="#tab2">2</a></li><li><a data-toggle="tab" href="#tab3">3</a></li><li><a data-toggle="tab" href="#tab4">4</a></li><li><a data-toggle="tab" href="#tab5">5</a></li>');
      }
      i = $(this).text();

    } else {
      if (i >= 3 || i === null) {
        $('.pagination').html('<li><a data-toggle="tab" href="#tab1">1</a></li><li><a data-toggle="tab" href="#tab2">2</a></li><li><a data-toggle="tab" href="#tab3">3</a></li>');
      }
      i = $(this).text();
    }
  });

演示: https://jsfiddle.net/SeanWessell/eae71Lqh/

【讨论】:

  • 我知道这个变量 i 但为时已晚 :( 但感谢和委托事件也有效
猜你喜欢
  • 2020-01-15
  • 2023-03-06
  • 2010-10-05
  • 2021-11-20
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-06
相关资源
最近更新 更多