如何合并来自不同输入值的数组。?

How to merge arrays from different input values.?

有许多具有相同名称和相同 class 且值不同的文本字段,每个输入都有 1 个按钮。我通过单击每个特定按钮从每个字段中获取值。与 Javascript 一起使用。我可以将该值放入数组中,但数组不会合并。如果我点击第一个按钮,特定的输入字段值被放入数组,然后我点击第三个按钮,数组中的第一个值被删除,新的 vlaue(第三行的值)存储在数组中。我如何在每个单击按钮上将所有值存储在同一个数组中。

这是我的代码。

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="aaa"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="bbb"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="ccc"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="ddd"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="eee"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

这是我的javascript

<script type="text/javascript">
//Get the value on button click
    var div = $(this).closest('div');
    var get_eupdid = div.find('input').val();

    alert(get_eupdid);

    //Push the value into array.
    var array_id = [];

    array_id.push(get_eupdid);

    console.log( "array_id: " + array_id);
</script>

您需要创建数组 global.Right,现在您每次单击 button 时都会创建 array,因此只有 current value 留在 array

 var array_id = [];
 $(document).ready(function () {
  $(".clickme").click(function () {
     var div = $(this).closest('div');
     var get_eupdid = div.find('input').val();
     alert(get_eupdid);

     //Push the value into array.
      array_id.push(get_eupdid);

      console.log("array_id: " + array_id);
    });
});

试试这个:单击函数不存在并将 array 声明为全局

var array_id = [];
$('.clickme').click(function(){
   var get_eupdid= $(this).closest('div').find('input').val();
   array_id.push(get_eupdid);
   console.log( "array_id: " + array_id);
  })
   
   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="aaa"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="bbb"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="ccc"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="ddd"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

<div>
    <input type="hidden" name="myvalue" class="form-control input_text" value="eee"/>
    <input type="button" class="clickme" value="Get Value" />
</div>

我认为你应该检查一下。当您可以使用其他东西来存储数据时,通常不需要 <input type='hidden' /> 。此外,它还向您展示了如何使用一点点 CSS,除非您想在这些 <div> 中添加其他内容,否则您可以如何做到这一点。

$(function(){

 var possible = ['aaa', 'bbb', 'ccc', 'ddd', 'eee'], collection = [];
 $('.clickme').each(function(i, e){
    $(e).click(function(){
      collection.push(possible[i]);
      console.log(collection);
    });
 });

 });
.clickme{
  display:block;
 }
<head>
  <script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script>
</head>
<body>
  <div>
    <input type='button' class='clickme' value='Get Value' />
    <input type='button' class='clickme' value='Get Value' />
    <input type='button' class='clickme' value='Get Value' />
    <input type='button' class='clickme' value='Get Value' />
    <input type='button' class='clickme' value='Get Value' />
  </div>
</body>