我目前有一个表单,其中包含循环复选框输入。我试图找到一种方法来查找表单内所有已检查的输入,并将所有已检查输入的值存储为数组,并将该数组放入可以传递到函数 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 />
元素不能有结束标签。他们正在 self 关闭。然后,你可以像这样做你想做的事:
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>
关于javascript - 输入选择变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57227769/