我遇到了无法解决的问题。部分是因为我无法用正确的术语来解释它。我是新手,对这个笨拙的问题感到抱歉。
您可以在下面看到我的目标概述。
我有产品和复选框。如果我选中了复选框,索引值应该存储在新数组中(应该在这里执行push()操作),如果再次取消选中该复选框意味着它应该执行pop( )操作。
<form method="post">
<input type="checkbox" name="options[]" value="Politics"/> Politics<br/>
<input type="checkbox" name="options[]" value="Movies"/> Movies<br/>
<input type="checkbox" name="options[]" value="World "/> World<br/>
<input type="submit" value="Go!" />
可能是这个重复的问题,对不起给我留言
任何想法?
答案 0 :(得分:0)
产品将从$ _POST ['options']数组中的表单发布。试试这个。
$products=array();
if(isset($_POST['submit'])
{
if(isset($_POST['options']) && !empty($_POST['options']))
{
$products=$_POST['options'];
print_r($products);
}
} 每次发布表格时都会覆盖数组$ products。如果我能正确理解你的问题,就不需要推送或弹出操作。
<form method="post">
<input type="checkbox" name="options[]" value="Politics"/> Politics<br/>
<input type="checkbox" name="options[]" value="Movies"/> Movies<br/>
<input type="checkbox" name="options[]" value="World "/> World<br/>
<input type="submit" name="submit" value="Go!" />
答案 1 :(得分:0)
您正在使用复选框,因此您不能只使用pop,因为它们可能会以不同的顺序取消选中。
因此,可以使用jQuery使用.data()
在DOM复选框对象上存储指向JavaScript对象的链接。这样,您可以稍后使用for循环匹配该对象,并使用.splice()
将其删除来自阵列。
编辑1: 那么你想验证复选框的状态吗?
if (document.getElementById('mycheckbox').checked){
myarray.push(data);
}