首页 > 解决方案 > 如何获取所有选定选项的值

问题描述

我有一个数组中的日期列表,并添加了一个选项列。我想要做的是获取每个数组的所有选定选项,并在单击“导出到 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/2019, 14:09:33, 00:03:14, 001, 103, 203, 304]

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

这是我的布局:

这是布局

标签: phpjqueryhtml

解决方案


然后,当提交表单并且您即将将信息发送到数据库时,您将必须捕获选择对象的选定值。您可以使用 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
}

推荐阅读