以JSON格式显示多个选定复选框的值以及与之关联的表单

我对javascript很陌生,并且还在尝试获取api与后端进行交互。我已经选中了一些复选框,如果要选择它们的值,我想将它们的值存储在数组中(以json格式),还将选择要在输入框中输入的值,然后使用fetch api将其发送到后端的数组。用于进行处理。任何人都可以在这里帮助我。

$("#step1").click(function() {
  $("#checked1").css("display","initial");
  $("#checked1").toggle($(this).prop("checked"));
});
      
$("#step2").click(function() {
  $("#checked2").css("display","initial");
  $("#checked2").toggle($(this).prop("checked"));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<p> Ready to start </p>
<div class="form-check checkbox-rounded checkbox-filled">
 <input type="checkbox" class="form-check-input filled-in" value="Yes" name="demo" id="Yes">
  <label class="form-check-label" for="Yes">Yes</label>
</div>

<div class="form-check checkbox-rounded checkbox-filled">
 <input type="checkbox" class="form-check-input filled-in" value="step1" name="demo" id="step1">
  <label class="form-check-label" for="step1">Check to start step1</label>

   <div id ="checked1" style="padding-left:20px; display: none;" class="custom-control-inline">

    <input type="text" id="inputvalue" class="form-control form-centrol-sm" style="width: 60%; display: inherit;" placeholder="Enter your name">
      <hr style="margin-top: 0.5rem !important; margin-bottom: 0.5rem !important;">
    </div>
</div>

<div class="form-check checkbox-rounded checkbox-filled">
 <input type="checkbox" class="form-check-input filled-in" value="step2" name="demo" id="step2">
   <label class="form-check-label" for="step2">Check to start step2</label>

     <div id ="checked2" style="padding-left:20px; display: none;" class="custom-control-inline">
     <input type="text" id="inputvalue" class="form-control form-centrol-sm" style="width: 60%; display: inherit;" placeholder="Enter your age">
      <hr style="margin-top: 0.5rem !important; margin-bottom: 0.5rem !important;">
     </div>
</div>

rczqy 回答:以JSON格式显示多个选定复选框的值以及与之关联的表单

好的,这就是将值获取到数组中的方式。如果您更新问题以显示您打算如何使用访存api,我也将更新其答案以包含它。

我有一个数组,就像您需要的问题一样,但我建议您改用一个对象,因为这就是JSON的含义-JavaScript对象表示法。

$("#step1").click(function() {
  $("#checked1").css("display","initial");
  $("#checked1").toggle($(this).prop("checked"));
});
      
$("#step2").click(function() {
  $("#checked2").css("display","initial");
  $("#checked2").toggle($(this).prop("checked"));
});

$('input').on('input',() =>{
  let dataArray = [ 
    "Yes checked: " + ($("#Yes").is(':checked')),"step1 checked: " + ($("#step1").is(':checked')),"step1 value: " + ($("#checked1Input").val() === "" ? "Not entered" : $("#checked1Input").val()),"step2 checked: " + ($("#step2").is(':checked')),"step2 value: " + ($("#checked2Input").val() === "" ? "Not entered" : $("#checked2Input").val())
  ];
  
  let dataObject = {
  "Yes checked" : ($("#Yes").is(':checked')),"step1 checked" : ($("#step1").is(':checked')),"step1 value" : ($("#checked1Input").val() === "" ? "Not entered" : $("#checked1Input").val()),"step2 checked" : ($("#step2").is(':checked')),"step2 value" : ($("#checked2Input").val() === "" ? "Not entered" : $("#checked2Input").val())  
  };
  
  let jsonArrayString = JSON.stringify(dataArray);
  let jsonObjectString = JSON.stringify(dataObject);
  console.clear();
  console.log("As an array: ",jsonArrayString);
  console.log("As an object: ",jsonObjectString);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<p> Ready to start </p>
<div class="form-check checkbox-rounded checkbox-filled">
 <input type="checkbox" class="form-check-input filled-in" value="Yes" name="demo" id="Yes">
  <label class="form-check-label" for="Yes">Yes</label>
</div>

<div class="form-check checkbox-rounded checkbox-filled">
 <input type="checkbox" class="form-check-input filled-in" value="step1" name="demo" id="step1">
  <label class="form-check-label" for="step1">Check to start step1</label>

   <div id ="checked1" style="padding-left:20px; display: none;" class="custom-control-inline">

    <input type="text" id="checked1Input" class="form-control form-centrol-sm" style="width: 60%; display: inherit;" placeholder="Enter your name">
      <hr style="margin-top: 0.5rem !important; margin-bottom: 0.5rem !important;">
    </div>
</div>

<div class="form-check checkbox-rounded checkbox-filled">
 <input type="checkbox" class="form-check-input filled-in" value="step2" name="demo" id="step2">
   <label class="form-check-label" for="step2">Check to start step2</label>

     <div id ="checked2" style="padding-left:20px; display: none;" class="custom-control-inline">
     <input type="text" id="checked2Input" class="form-control form-centrol-sm" style="width: 60%; display: inherit;" placeholder="Enter your age">
      <hr style="margin-top: 0.5rem !important; margin-bottom: 0.5rem !important;">
     </div>
</div>

本文链接:https://www.f2er.com/3156254.html

大家都在问