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

时间:2016-12-08 04:28:48

标签: javascript php jquery arrays codeigniter-3

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

这是我的代码。

<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>

3 个答案:

答案 0 :(得分:1)

试试这个:点击不存在的功能并将getEventListeners声明为全局

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);
  })
   
   

答案 1 :(得分:1)

我认为你应该检查一下。当您可以使用其他内容存储数据时,通常不需要<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>

答案 2 :(得分:0)

您需要将数组设为global.Right现在,每次点击array时都会创建button,因此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);
    });
});