从选择框中获取所有选项,而不是多个,并将它们传递给php,以便在mysql中插入

ilmyapht  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(244)
<select class="myselect" id="myselect" name="mul_cat" onChange="catChange();" multiple="multiple">
   <option value="" selected>-Select-</option>
<option value="Truck">Truck</option>
<option value="Car">Car</option>
<option value="Van">Van</option>
<option value="Bus">Bus</option>
  </select>

<?php
    while(($mul_cats = each($mul_cat))) {
    $mul_cats = trim($mul_cats['value']);
    //insert into vehicles........ 
    }
?>

我试图发布上面的所有select选项,并使用上面的while循环将它们传递到数据库。请注意,我不希望上面的选择框是多选框。我只想把所有的选项都传给数据库。另外,我希望所有可用的选项都不要选中。如果可能的话,请帮助我或告诉我。

gab6jxml

gab6jxml1#

尝试以下逻辑。
使用jquery获取select下拉列表的所有选项(不是多个),并将它们存储在带有逗号分隔符的隐藏字段中。现在取这个值,使用逗号分隔符分解这些值并将它们存储在数据库中。我们来看看:-

<script>
$(document).ready(function(){
    $('#myselect').each(function(){
        optionValues.push($(this).val());
    });
    $('#result').val(optionValues);
});
</script>

<html>
<input type="hidden" id="result" />
</html>

<?php
    //Get the values of the drop-down in an array and run a loop to insert all the values of the array in a database
?>
stszievb

stszievb2#

假设您对标记有完全的控制权,您可以执行类似于以下的操作。。。

$categories = ['Truck', 'Car', 'Van', 'Bus'];

<select multiple="multiple" name="mul_cat[]">
<? foreach($categories as $value) { ?>
    <option value=<?= $value; ?>></option>
<? } ?>
</select>

这样,您就已经拥有了这些类别,并且可以根据需要Map它们,而不需要javascript。
否则,您需要将所有内容填充到一个隐藏的输入中,或者为mul\u cats添加一个post变量。

相关问题