以一种形式从多个具有相同名称的多选下拉列表中检索数据

Ais*_*sha 2 html php

我正在尝试multi select在一页和一种形式上处理多个具有相同名称的框/下拉菜单。它们具有相同的名称,因为这些下拉列表/框是动态添加的。我的问题是如何分别检索每个选择框的数据。其显示结果如下:

Array(
        [0] => M
        [1] => T
        [2] => W 
 )
Run Code Online (Sandbox Code Playgroud)

但是我想要这样的结果

  Array
  (
     [0] => Array(
               [0] => M
               [2] => T
             )
     [1] => Array(
               [0] => W
             )
  )
Run Code Online (Sandbox Code Playgroud)

我正在尝试此代码:

  <td class="v-align-middle semi-bold sorting_1">
                            <div class="form-group form-group-default form-group-default-select2 full-width days" id="111">
                                    <label>SELECT DAYS</label>
                                    <select id="dw" name="days[]" class="full-width select2-offscreen" data-init-plugin="select2" multiple="" tabindex="-1">
                                        <option value="M">Monday</option>
                                        <option value="T">Tuesday</option>
                                        <option value="W">Wednesday</option>
                                        <option value="Th">Thursday</option>
                                        <option value="F">Friday</option>
                                        <option value="Sa">Saturday</option>
                                        <option value="Su">Sunday</option>
                                    </select>

                            </div> <br/>
                        </td>
                        <td>
Run Code Online (Sandbox Code Playgroud)

这是我用来克隆表的代码:

   $('.add-ins').on('click', function(){
     var selfId = $(this).attr('id');
     var tId = $(this).parent().parent().find('table').attr('id');
     var lastId = $('.timings#'+tId+' tbody tr:visible:last').attr('id');
     lastId++;
     $('select').select2('destroy'); /* destroy select2 from select tag and then clone it */          
    var clonerow = $('.timings#'+tId+' tbody tr:visible:last').clone(true, true).attr('id', lastId);
    clonerow.appendTo('.timings#'+tId+' tbody');
    $('select').select2(); /* enable Select2 on the select elements */
});
Run Code Online (Sandbox Code Playgroud)

PHP代码:

  $days = $_POST['days'];
  foreach($days as $value){
       echo $value; 
       foreach($value as $week){ 
     echo  $week; 
     }
  }
Run Code Online (Sandbox Code Playgroud)

或者简单地说:

   print_r($days);
Run Code Online (Sandbox Code Playgroud)

请在这方面帮助我。如果还有其他解决方案,例如为每个选择框使用不同的名称,请告诉我如何使用php发布它们,$_POST因为我无法确定用户会添加多少个多选框。

您的建议将不胜感激。提前致谢。

亲切的问候

Rak*_*tra 5

请像这样用html编码

<select id="dw" name="days[0][]" class="full-width select2-offscreen" data-init-plugin="select2" multiple="" tabindex="-1">
 <option value="M">Monday</option>
 <option value="T">Tuesday</option>
 <option value="W">Wednesday</option>
 <option value="Th">Thursday</option>
 <option value="F">Friday</option>
 <option value="Sa">Saturday</option>
 <option value="Su">Sunday</option>
</select>

<select id="dw" name="days[1][]" class="full-width select2-offscreen" data-init-plugin="select2" multiple="" tabindex="-1">
 <option value="M">Monday</option>
 <option value="T">Tuesday</option>
 <option value="W">Wednesday</option>
 <option value="Th">Thursday</option>
 <option value="F">Friday</option>
 <option value="Sa">Saturday</option>
 <option value="Su">Sunday</option>
</select>
Run Code Online (Sandbox Code Playgroud)