我目前有一个带有循环复选框输入的表单。我试图找到一种方法来查找表单中所有已检查的输入,并将所有已检查的输入的值存储为数组,并将该数组放入可以传递给函数qryPrjctAdmin()的变量中。因此,基本上onchange='qryPrjctAdmin(“所有检查的输入”的值都作为变量在这里的数组“ )'”。我对此很困惑。这是我的代码:

  echo "<form onchange='qryPrjctAdmin()'>";
         while ($row = mysqli_fetch_assoc($result)) {
           echo "<input type='checkbox' name='userMeeting[]' value=". $row['Id'] .">" . $row['fullName'] . "</input>";
         }
  echo "</form>";

最佳答案

首先,您的HTML无效。 <input />元素不能带有结束标记。他们是自我关闭。然后,您可以执行以下操作:



function qryPrjctAdmin() {
  var checkedInputs = document.querySelectorAll('[name="userMeeting[]"]:checked');
  // Convert this HTMLCollection into an Array and map their values
  var values = Array.prototype.slice.call(checkedInputs)
                    .map(function(checkbox) { return checkbox.value; });
  console.log(values);
}

<form onchange='qryPrjctAdmin()'>
    <label><input type='checkbox' name='userMeeting[]' value="a" />A</label>
    <label><input type='checkbox' name='userMeeting[]' value="b" />B</label>
    <label><input type='checkbox' name='userMeeting[]' value="c" />C</label>
</form>

07-24 09:46
查看更多