Javascript 使用JS将HTML清单元素推送到数组中
我想让我的清单记住选中选项的值。每当用户选中该框时,我希望将该值推入数组,每当他取消选中该框时,我希望将其删除。 通过我的提交按钮,我想为每个选中的元素显示一个警报 我可以填充数组,但由于某种原因它会覆盖前面的元素。而且它不会对“未检查状态”做出反应,也不会在提交时显示任何内容。 注:我需要这个工作大约200输入以后Javascript 使用JS将HTML清单元素推送到数组中,javascript,Javascript,我想让我的清单记住选中选项的值。每当用户选中该框时,我希望将该值推入数组,每当他取消选中该框时,我希望将其删除。 通过我的提交按钮,我想为每个选中的元素显示一个警报 我可以填充数组,但由于某种原因它会覆盖前面的元素。而且它不会对“未检查状态”做出反应,也不会在提交时显示任何内容。 注:我需要这个工作大约200输入以后 <h1>Checklist</h1> <form> <input type="checkbox" name="remember"
<h1>Checklist</h1>
<form>
<input type="checkbox" name="remember" id="remember" onclick="checkboxFunction(value)" value="F-Card geholt">F-Card geholt<br>
<input type="checkbox" name="remember" id="remember" onclick="checkboxFunction(value)" value="Ersti Rally">Ersti Rally <br>
<input type="checkbox" name="remember" id="remember" onclick="checkboxFunction(value)" value="TEST">TEST<br>
</form>
<script type="text/javascript">
var checkbox = document.getElementsByName("remember");
var checkboxArray = [];
function checkboxFunction(value)
{
for(var i=0, length=checkbox.length; i<length; i++)
{
if(checkbox[i].checked)
{
checkboxArray.push(value);
}
else if (!checkbox[i].checked && value == checkboxArray[i])
{
checkboxArray.splice(value);
}
}
}
function alertFunction()
{
for(var i=0, length=checkbox.length; i<length; i++)
{
if (typeof checkboxArray[i] != 'undefined')
{
alert(checkboxArray[i]);
}
}
}
</script>
<input type="button" name="alert" value="Submit" onclick="alertFunction()">
检查表
F-Card geholt
埃尔斯蒂拉力赛
测试
var checkbox=document.getElementsByName(“记住”);
var checkboxArray=[];
函数checkboxFunction(值)
{
对于(var i=0,length=checkbox.length;imovevar checkboxArray=[];
在checkboxFunction之外
<script type="text/javascript">
var checkboxArray = [];
function checkboxFunction(value)
{
var checkbox = document.getElementsByName("remember");
for(var i=0, length=checkbox.length; i<length; i++)
{
if(checkbox[i].checked)
{
checkboxArray.push(value);
}
else if (!checkbox[i].checked && value == checkboxArray[i])
{
checkboxArray[i] = null;
}
//alert(checkboxArray[i]);
}
}
function alertFunction()
{
for(var i=0, length=checkboxArray.length; i<length; i++)
{
alert(checkboxArray[i]);
}
}
</script>
var checkboxArray=[];
函数checkboxFunction(值)
{
var checkbox=document.getElementsByName(“记住”);
对于(var i=0,length=checkbox.length;icheckboxArray超出了您的alertFunction的作用域。我尝试将其用作public,但它也不起作用,因此我认为这可能不是问题。我尝试按ID查找checkboxArray,但也不起作用。checkboxArray在checkboxFunction中定义,因此它仅在该函数的作用域中可用,否在第二个项目中,我再次尝试了我2小时前尝试过的方法,突然它成功了…我现在可以显示数组中的元素,但它仍然覆盖了它们。第一个项目有效,第二个项目删除了第一个项目,第二个项目和第三个项目用它的值覆盖了所有三个项目。。。