好的,让我先举一个例子。我有很多项目,他们可以分为一系列类别。项目可以是多个类别。基本上我所拥有的是具有按类别分组的复选框的项目列表。同样,项目可以出现多次。所以它可能看起来像:
蓝色物品: 第1项 第2项 第3项
红色物品: 第1项 第4项
因此,每个项目旁边都有一个复选框,用于删除项目类别关联。我应该在输入值中存储什么,以便区分不同类别的项目?我的意思是我不能使用项目编号,因为它可以出现在多个类别中。我可以做类似“blue-item2”之类的东西然后当我使用我的服务器端脚本通过表单拆分值字符串“ - ”但这似乎有点不确定。
对不起,如果问题有点模糊。如果需要,我可以澄清一点。
答案 0 :(得分:9)
包含以下元素的表单:
<input type="checkbox" name="item[blue][0]">
<input type="checkbox" name="item[blue][1]">
<input type="checkbox" name="item[blue][2]">
<input type="checkbox" name="item[red][0]">
<input type="checkbox" name="item[red][1]">
将导致$_POST['item']
元素的以下值:
array(
'blue' => array(0, 1, 2),
'red' => array(0, 1),
);
答案 1 :(得分:1)
您可以使用每个复选框的名称标签,并为同一类别指定相同的名称。比如说你有一个蓝色项目的复选框 input type =“check”name =“blueitems []”
您是否注意到名称中的[](数组),即在同一组中提供相同的名称。现在,您可以通过这种方式访问document.getElementsByName [“blueitems []”],您将获得一个数组,并使用索引可以访问特定元素。
这里可以找到类似的例子。 Example for using name arrays