繁体   English   中英

如何获取所有选定选项的值

[英]How to get the value of all the selected option

我有一个数组中的日期列表,我添加了一个选项列。 我想要做的是获取每个数组的所有选定选项,并在单击“export to excel”按钮时将其插入数据库。

当我尝试打印所有选定的值时,只显示第一个选定的值。

 for ($i=0; $i < count($dates); $i++) { 
     echo " 
              <tr>
                <td>$tripdate[$i]</td>
                <td contenteditable='true'></td>
                <td>$cicuitNumber[$i]</td>
                <td>$triptime[$i]</td>
                <td>$dates[$i]</td>
                <td>$dates1[$i]</td>
                <td>$dates2[$i]</td>
                <td contenteditable='true'> </td> 

    ////////////// OPTION#1 ///////////////////

              <td>           
                 <div class='form-group'>
                   <select class='form-control' id='InterruptionCause' name='InterruptionCause' >
                      <option value ='0' selected>0</option>
                      <option value='001'>001</option>
                      <option value='002'>002</option>
                      <option value='003'>003</option>
                      <option value='004'>004</option>
                   </select>
                </div>
              </td>


  ////////////// OPTION#2 ///////////////////

              <td>
                <div class='form-group'>
                   <select class='form-control' id='InterruptionWeather'>
                     <option value='101'>101</option>
                     <option value='102'>102</option>
                     <option value='103'>103</option>

                  </select>
                </div>
             </td>

   ///////////// OPTION#3 //////////////

             <td>
                <div class='form-group'>
                   <select class='form-control' id='InterruptionDevice'>
                     <option value='201'>201</option>
                     <option value='202'>202</option>
                     <option value='203'>203</option>
                    </select>
                </div>
            </td>


  ///////////// OPTION#4 /////////////

            <td>
               <div class='form-group'>
                   <select class='form-control' id='InterruptionEquipment'  >

                      <optionvalue='301'>301</option>
                      <option value='302'>302</option>
                      <option value='303'>303</option>
                      <option value='304'>304</option>
                       <option value='305'>305</option>
                    </select>
                </div>
            </td>                     
   </tr>
                        ";

                        }

我希望将其导出到数据库时的输出将获得所有数据,包括每个选定选项的值。

例如:

[05/31/2019,BT-F4,14:06:19,05 / 31 / 201,14:09:33,00:03:14,001,103,203,304]

[05/31/2019,CYNSF-F1,12:44:08,05 / 31 / 201,14:46:18,02:02:10,003,102,201,302]

这是我的布局:

这是布局

然后,当提交表单并且您要将信息发送到数据库时,您将必须捕获所选对象的选定值。 你可以使用JQuery调用选择器的选择器(我可以看到你写的id)并调用一个返回所选值的函数:

var selectedValue1 = $('#InterruptionCause').val();

您可以同时捕获所有选定的值并将其保存到执行此操作的数组中:

var arraySelectedValues = $('#InterruptionCause, #InterruptionWeather, #InterruptionDevice, #InterruptionEquipment').val();

为了从一种选择的所有列中获取所有选定的选项,您可以添加一个数字(即$i )以为每个选择对象分配一个单独的id。 我会用其中一个选择来解释我的想法。 在你回复所有选择的那一刻,你有一个var $ i的计数器。

 <td>           
     <div class='form-group'>
     <select class='form-control' id='InterruptionCause$i' name='InterruptionCause' >
             <option value ='0' selected>0</option>
             <option value='001'>001</option>
             <option value='002'>002</option>
             <option value='003'>003</option>
             <option value='004'>004</option>
     </select>
     </div>
 </td>

你可以看到在id中我添加了每个选择个体的计数器的值。 在您需要获取所有值的那一刻,您只需为表中的每一行重复迭代,并获得如下所示的每个值:

var listSelectedValues = [];
for(var i=0;i<table.length;i++){
    listSelectedValues.push($('#InterruptionCause'+i).val()); // push() adds an element at the end
}

如果通过添加带有数组语法的名称来修改生成HTML的PHP​​ - 请删除下面的ID

for ($i=0; $i < count($dates); $i++) { 
     echo " 
              <tr>
                <td>$tripdate[$i]</td>
                <td contenteditable='true'>&nbsp;</td>
                <td>$cicuitNumber[$i]</td>
                <td>$triptime[$i]</td>
                <td>$dates[$i]</td>
                <td>$dates1[$i]</td>
                <td>$dates2[$i]</td>
                <td contenteditable='true'>&nbsp;</td>

              <td>           
                 <div class='form-group'>
                   <select class='form-control' name='InterruptionCause[]'>
                      <option value ='0' selected>0
                      <option value='001'>001
                      <option value='002'>002
                      <option value='003'>003
                      <option value='004'>004
                   </select>
                </div>
              </td>

              <td>
                <div class='form-group'>
                   <select class='form-control' name='InterruptionWeather[]'>
                     <option value='101'>101
                     <option value='102'>102
                     <option value='103'>103
                  </select>
                </div>
             </td>

             <td>
                <div class='form-group'>
                   <select class='form-control' name='InterruptionDevice[]'>
                     <option value='201'>201
                     <option value='202'>202
                     <option value='203'>203
                    </select>
                </div>
            </td>

            <td>
               <div class='form-group'>
                   <select class='form-control' name='InterruptionEquipment[]'>
                      <optionvalue='301'>301
                      <option value='302'>302
                      <option value='303'>303
                      <option value='304'>304
                       <option value='305'>305
                    </select>
                </div>
            </td>                     
   </tr>";

}

然后你应该能够访问POST数组中的每个项目,如下所示:

<?php


    $weather=$_POST['InterruptionWeather'];
    $device=$_POST['InterruptionDevice'];
    $kit=$_POST['InterruptionEquipment'];


    foreach( $_POST['InterruptionCause'] as $i => $cause ){
        echo $weather[ $i ], $device[ $i ], $kit[ $i ], '<br />';
    }

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM