Reset counter with jQuery

时间:2018-12-21 作者:JohnG

在WordPress上,我用下拉菜单在帖子类别之间切换,并有一个“加载更多”按钮,将更多帖子加载到所选类别中。每次按下按钮,都会更新一个变量,因此WordPress知道是否加载该类别中的第2、3、4部分帖子。

但是,当下拉列表发生更改时,计数器应该重置,我不知道怎么做。

为了简化,如果您有:

<select id="selection">
  <option value="foo"></option>
  <option value="bar"></option>
</select>

<button id="button"></button> 
我想得到一串警报-每个按钮点击一次-说“foo1”,“foo2”//“bar1”,“bar2”//“foo1”,“foo2”,“foo3”。

不过,我的代码并不能很好地工作——在更改下拉列表一段时间后,我只需单击一个按钮,就会收到多个警报。

$(document).ready(function(){
    $("#selection").on(\'change\', function(){
         myval = $("#selection").val();
         count = 0; 
         $("button").on(\'click\', function(){
             count++;
             alert(myval + count);
        })
     })
 })
当选择器更改时,我如何才能完全清除我的计数值?

1 个回复
SO网友:Tejas Gajjar

通过创建数组并将所选值推入其中,可以对每个函数执行此操作。

Html

<select id="selection">
  <option value="foo"></option>
  <option value="bar"></option>
</select>
Jquery
 var arrayOfValues = new Array();
    $("select").each(function(i,obj){
     count = 0; 
        $(obj).change(function() {
             $("select").each(function(i,obj){
             count++;
                arrayOfValues.push($(obj).find(":selected").val()+count);         
             });
            alert(arrayOfValues);
        });
    });
希望这将帮助你,也让我知道结果。