使用JQuery,如何将复选框中的输入数组转换为一个变量

With JQuery how can you make an array of inputs from checkboxes into one variable?

本文关键字:转换 变量 一个 数组 输入 JQuery 复选框 使用      更新时间:2023-09-26

我想把这个jquery提交的数据放入一个变量中,我可以把它放入html中。我正在使用append按钮将html添加到表单中,但不知道如何将data变量转换为每个复选框值的数组。

https://jsfiddle.net/soljohnston777/k5yc1y2a/2/

JQuery:

$(".checkboxadd").click(function(){
                $('[id^="add_policies_checkbox"]').each(function(i, v){
                  //alert(this.value);
                  if($(v).prop('checked')){
                  var data=$(v).val();
                  $("#div_to_add_this_checkbox_value").append("<input type=hidden name='pnpID_instructions' value=''"+data+"'' />P&P #'s: "+data+"");}
                });
});//end ajaxifypolicies

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <input type="checkbox" value="1" id="add_policies_checkbox1"/>
  <input type="checkbox" value="2" id="add_policies_checkbox2"/>
  <input type="checkbox" value="3" id="add_policies_checkbox3"/>
  <button class="checkboxadd">Submit</button>
<div id="div_to_add_this_checkbox_value"></div>
<div> Check mark all 3 then hit submit, What I want is the output like an array:<br>P&P #'s:1,2,3 <br> (and the hidden value="1,2,3")
</div>

要将数组转换为字符串,可以使用array.join(',')

$(".checkboxadd").click(function() {
var data = [];
$('[id^="add_policies_checkbox"]').each(function(i, v) {  
  if ($(v).prop('checked')) {
    data.push($(v).val());
  }
});
console.log(data);
$("#div_to_add_this_checkbox_value").html('P&P #s:' + data.join(',') + "<input type='hidden' name='pnpID_instructions' value='"+data.join(',')+"' />");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="1" id="add_policies_checkbox1" />
<input type="checkbox" value="2" id="add_policies_checkbox2" />
<input type="checkbox" value="3" id="add_policies_checkbox3" />
<button class="checkboxadd">Submit</button>
<div id="div_to_add_this_checkbox_value"></div>