[英]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'> </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>
<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.