猿问

将顺序数组项分配为混合

我有一个从 1 到 15 的有序列表。我将这些列表项放在一个表单中,并为每个列表项分配一个复选框。用户可以从这个表单的项目中选择任何他想要的。


当用户填写并发送表单时,我想将此列表分隔在某些标题下。


例如:


<form>

    <input type="checkbox" value="1" name="checklist[]"> Option 1

    <input type="checkbox" value="2" name="checklist[]"> Option 2

    <input type="checkbox" value="3" name="checklist[]"> Option 3 

    <input type="checkbox" value="4" name="checklist[]"> Option 4

    <input type="checkbox" value="5" name="checklist[]"> Option 5

    <input type="checkbox" value="6" name="checklist[]"> Option 6

    <input type="checkbox" value="7" name="checklist[]"> Option 7

    <input type="checkbox" value="8" name="checklist[]"> Option 8

    <input type="checkbox" value="9" name="checklist[]"> Option 9

    <input type="checkbox" value="10" name="checklist[]"> Option 10

    <input type="checkbox" value="11" name="checklist[]"> Option 11

    <input type="checkbox" value="12" name="checklist[]"> Option 12

    <input type="checkbox" value="13" name="checklist[]"> Option 13

    <input type="checkbox" value="14" name="checklist[]"> Option 14

    <input type="checkbox" value="15" name="checklist[]"> Option 15

</form>

根据您选择的结果:


类别 A

此类别中的问题:1 - 3 - 4 - 10

您已选择:3 - 4 - 10


类别 B

此类别中的问题:2 - 8 - 11 - 14 - 15

您选择了:2 - 8 - 11


C 类

此类别中的问题:5 - 6 - 7 - 9 - 12 - 13

您选择了:5 - 7 - 12 - 13


你能告诉我如何做到这一点吗?


繁星淼淼
浏览 131回答 2
2回答

阿波罗的战车

当用户完成表单时,您会在 php 后端收到选项框的值语句中的内容。所以对你用 if 语句得到的数组做一个简单的 foreach

至尊宝的传说

我通过搜索找到了我提出的问题的答案。对于那些需要帮助的人,我在这里添加它。首先,将每个类别的选项做成一个数组。$category_A = array (1, 3, 4, 10);$category_B = array (2, 8, 11, 14, 15);$category_C = array (5, 6, 7, 9, 12, 13)然后将这些数组插入到 foreach 循环中,并检查所选选项是否在此数组中。类别 A 的示例:foreach ( $category_A as $value ) {&nbsp; &nbsp; if ( in_array( $value, $_POST['check_list'] ) ){&nbsp; &nbsp; &nbsp; &nbsp; echo '<span class="selected">'. $value .'</span>';&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; echo '<span>'. $value .'</span>';&nbsp; &nbsp; }}
随时随地看视频慕课网APP
我要回答