影响提交的特定行的类

时间:2015-05-23 11:51:35

标签: javascript jquery ajax

我的页面有嵌套记录,每个嵌套记录都有一个名为"count"的div中每条记录的总点击次数。我想在按钮的每个div的总数上添加1,其类为view。目前我实现的是在按钮视图上单击,1添加到所有嵌套count divs,但我希望它影响我单击视图按钮的特定行

$(document).ready(function(){



$('.view').click(function() {
 counter=parseInt($('.count').html());
            counter++;
            $('.count').html(counter);



        });
    });

HTML

 <table width="200" border="1">
  <tr>
    <td><div>4</div></td>
  </tr>
  <tr>
    <td><button class="view">CLICK ME</button></td>
  </tr>
  <tr>
    <td><div>12</div></td>
  </tr>
  <tr>
    <td><button class="view">CLICK ME</button></td>
  </tr>
</table>

3 个答案:

答案 0 :(得分:1)

如果没有ID,您可以使用parent()prev()访问表格中的上一行,然后使用find()向下钻取到您的div。

如果您的行中有多个<div>,则

  1. 使用find("div").eq(x),其中x是您希望从0(ref)开始的div索引。

  2. 为div提供类似<div class="count_holder">的类名称,然后您可以执行find("div.count_holder")

  3. 试试这个:

    $(document).ready(function() {
    
      $('.view').on("click", function() {
        $target = $(this).parent().parent().prev().find("div").eq(1);
        counter = parseInt($target.html());
        counter++;
        $target.html(counter);
      });
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <table width="200" border="1">
      <tr>
        <td>
          <div>Count:</div>
          <div>4</div>
        </td>
      </tr>
      <tr>
        <td>
          <button class="view">CLICK ME</button>
        </td>
      </tr>
      <tr>
        <td>
          <div>Count:</div>
          <div>12</div>
        </td>
      </tr>
      <tr>
        <td>
          <button class="view">CLICK ME</button>
        </td>
      </tr>
    </table>

答案 1 :(得分:0)

试试这个:

$(.view).on("click", function (e ) {
    var btn = $(e.target);
    var count = btn.prev().html();
    count++;
    btn.prev().html(count);
});

无需parseInt。

答案 2 :(得分:0)

您可以尝试将计数器和按钮包装在div中,然后尝试下面的js代码:

recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
      @Override
      public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
           super.onScrollStateChanged(recyclerView, newState);
           EdgeChanger.setEdgeGlowColor(recycler, getResources().getColor(R.color.your_color));
      }
});

这里是小提琴:https://jsfiddle.net/tvxb1y7b/