Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery将所有活动按钮的值放入一个数组中_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery将所有活动按钮的值放入一个数组中

Javascript 如何使用jQuery将所有活动按钮的值放入一个数组中,javascript,jquery,Javascript,Jquery,这把小提琴代表了我的问题: 基本上,当有人点击任何按钮时,onclick函数会改变按钮的背景色,这样用户就知道点击了哪个按钮,但我在小提琴中忽略了这部分代码。现在我尝试将所有单击按钮的值放入一个数组中,在fiddle中,它应该成为input元素的value。试着这样做: $(document).ready(function(){ $('button.clicked').click(function(){ var clickedButtons= new Ar

这把小提琴代表了我的问题: 基本上,当有人点击任何按钮时,
onclick
函数会改变按钮的背景色,这样用户就知道点击了哪个按钮,但我在小提琴中忽略了这部分代码。现在我尝试将所有单击按钮的值放入一个数组中,在fiddle中,它应该成为
input
元素的
value
。试着这样做:

$(document).ready(function(){
        $('button.clicked').click(function(){
            var clickedButtons= new Array();
            $('button[background-color="rgb(76, 175, 80)"]').each(function(){
                clickedButtons[clickedButtons.length]=this.value;
            });
        });
    });

但是在
$('button[background color=“rgb(76,175,80)”))内部。每个(function()
都不是控制台日志记录,就好像那部分代码根本没有解释一样。请帮助,我被卡住了如果你想在数组中添加按钮值,每次按下一个按钮,你都可以像下面那样编辑你的代码:

每次按下按钮时,我都调用
push()
函数,该函数将在数组中添加元素值

代码:

 $(document).ready(function() {

   var clickedButtons = new Array();

   $('button.clicked').click(function() {

     clickedButtons.push(this.value); // adds element to the array
     $(this).unbind('click'); // stop listening 

     console.log(clickedButtons);

     $("here").val(clickedButtons.join());

   });


 });

补充说明:

  • 我从html中删除了所有的
    onclick=“…”
    buttons属性,因为如果您使用jQuery收听单击事件,则不需要它
-

编辑(切换版本)

如果需要在数组中切换按钮值,只需进行以下编辑:

发件人:

致:

});]

您需要使用这个变量来指定当前点


你不是根据它们的样式来选择它们(这根本不起作用-你实际上是在这里选择带有属性
背景色
的按钮,其值为
rgb(76,175,80)
),而是通过一个类将该样式设置为按钮,而不是通过在
$上迭代有什么意义(这)
哪个引用指向单击的按钮?@AlonEitan正确,它没有意义。我留下的是OP发布的代码。我正在编辑我的答案,谢谢。我会再唠叨一次,问你:“如果你多次点击同一个按钮,会发生什么?”但我也会投票支持你的回答@AlonEitan说,数组中有重复的值。@AlonEitan@RIYAJKHAN正确,我在编辑代码时,在按下按钮后添加
unbind()
函数。再次感谢你
 clickedButtons.push(this.value); // adds element to the array
 $(this).unbind('click'); // stop listening 
 var index = clickedButtons.indexOf(this.value);

 if (index === -1) 
   clickedButtons.push(this.value);  //value not found so push it
 else
   clickedButtons.splice(index, 1);   // value found so remove it
Below is the working fiddle



  [$(document).ready(function() {
   var clickedButtons = new Array();
 $('button.clicked').click(function() {
  $(this).css('background','red');
     clickedButtons.push( this.value);
    $("#here").val(clickedButtons.join());
  }); 
     $(document).ready(function() {
  $('button.clicked').click(function() {
     alert($(this).text());
  });
});