HTML多个选项在同一个名称上选择Box Multiple Times

时间:2015-04-26 17:57:21

标签: php html arrays

其实我正在研究教育管理系统,但我坚持下去。

<select name="teachers[]"  multiple="multiple"  class="chosen-select input-xlarge">
        <option value="1">option1</option>
        <option value="2">option2</option>  
    </select>

    <select name="teachers[]"  multiple="multiple"  class="chosen-select input-xlarge">
        <option value="1">option1</option>
        <option value="2">option2</option>  
    </select>

我使用的是倍数时间,但在提交后输出看起来像这样

[teachers] => Array
    (
       [0] => 1
       [1] => 2
       [2] => 1
       [3] => 2
    )

但我需要这样的输出

[teachers] => Array
        (
            [0] => Array
                (
                    [0] => 1
                    [1] => 2
                )

        [1] => Array
            (
                [0] => 1
                [1] => 2
            )
     )

1 个答案:

答案 0 :(得分:3)

您可以通过在表单中​​使用多维数组并为第一个维度设置固定值来实现此目的。

<select name="teachers[0][]"  multiple="multiple"  class="chosen-select input-xlarge">
    <option value="1">option1</option>
    <option value="2">option2</option>  
</select>

<select name="teachers[1][]"  multiple="multiple"  class="chosen-select input-xlarge">
    <option value="1">option1</option>
    <option value="2">option2</option>  
</select>

x[]背后的概念是:使x成为一个数组并将每个选定的值添加到其中。因此,在第一种情况下使用x[0][]变为:使x[0]成为一个数组并将每个选定的值添加到其中。在第二种情况下,它是:使x[1]成为一个数组,并将选定的值添加到其中 - 从而产生所需的输出。

但是,如果您使用x[][],这将导致每个选定的项目都是自己的数组,对于每个项目,将创建一个新数组。