通过动态创建的输入ID将值推入数组

时间:2019-01-18 17:08:53

标签: jquery

我想要一个由动态创建的输入ID构成的所有值的数组。

有多个具有唯一ID的下拉列表,这些下拉列表是动态创建的。我只需要id值和一个数组,以便可以将其传递给PHP代码进行进一步处理。

<input type="hidden" id="selected_charge_code_1" value="33252" name="violation_template_notices[1][ar_code_id]">
<input type="hidden" id="selected_charge_code_2" value="33253" name="violation_template_notices[2][ar_code_id]">
<input type="hidden" id="selected_charge_code_3" value="33254" name="violation_template_notices[3][ar_code_id]">

预期结果:

<input type="hidden" name="ar_codes" value="33252,33253,33254">

1 个答案:

答案 0 :(得分:0)

以下是实现此目的的一些方法:

方法1

var arCodes = [];

$("input[name^='violation_template_notices']")
  .each(function(input) {
    // collect the input values into an array
    arCodes.push($(this).val());
  });

// Join the values of the array and put it to the text field.
$('input[name="ar_codes"]').val(arCodes.join(','))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

<input type="hidden" id="selected_charge_code_1" value="33252" name="violation_template_notices[1][ar_code_id]">
<input type="hidden" id="selected_charge_code_2" value="33253" name="violation_template_notices[2][ar_code_id]">
<input type="hidden" id="selected_charge_code_3" value="33254" name="violation_template_notices[3][ar_code_id]">

<input type="text" name="ar_codes" value="">

方法2

const arCodes = Array.from(
  $("input[name^='violation_template_notices']"),
  input => input.value
).join(", ");

$('input[name="ar_codes"]').val(arCodes);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input type="hidden" id="selected_charge_code_1" value="33252" name="violation_template_notices[1][ar_code_id]">
<input type="hidden" id="selected_charge_code_2" value="33253" name="violation_template_notices[2][ar_code_id]">
<input type="hidden" id="selected_charge_code_3" value="33254" name="violation_template_notices[3][ar_code_id]">

<input type="text" name="ar_codes" value="">