我目前有一个带有循环复选框输入的表单。我试图找到一种方法来查找表单中所有已检查的输入,并将所有已检查的输入的值存储为数组,并将该数组放入可以传递给函数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>