首页 > 解决方案 > 从 select 中随机选择选项并相应地显示输出

问题描述

我有一个带有多项选择的选择下拉菜单。我可以选择多个选项。

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>
  <form action="process.php" method="post" multiple="multiple">
    <select name="demo[]" multiple="multiple">
      <option value="1">Demo1</option>
      <option value="2">Demo2</option>
      <option value="3">Demo3</option>
      <option value="4">Demo4</option>
      <option value="5">Demo5</option>
      <option value="6">Demo6</option>
    </select>
    <input type="submit" name="" value="Submit">
  </form>
</body>
</html>

进程.php

<?php 
echo"<pre>";
print_r($_POST['demo']);
 ?>

我选择12选项,我得到输出下面的输出,这是正确的

Array ( 
[0] => 1 
[1] => 2
 ) 

现在我的问题是,首先我选择 1、3、5,然后选择 2,4 选项。所以是否可以像这样显示输出

   Array ( 
    [0] => 1 
    [1] => 3
    [2] => 5
    [3] => 2
    [4] => 4 
     )

尝试 matthias_h 后回答

在此处输入图像描述

标签: phphtmljqueryarraysselect

解决方案


Array 输出的格式与您的示例有点不同,可以进行调整,但结果是您正在寻找的结果。

var selection = [];
var count = 0;
$("select[name='demo[]']").on("change", function() {
  var selected = $(this).val();
  for (var i = 0; i < selected.length; i++) {
    selection.push("[" + count + "] : " + selected[i]);
    count += 1;
  }
  console.log(selection);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="process.php" method="post" multiple="multiple">
  <select name="demo[]" multiple="multiple">
    <option value="1">Demo1</option>
    <option value="2">Demo2</option>
    <option value="3">Demo3</option>
    <option value="4">Demo4</option>
    <option value="5">Demo5</option>
    <option value="6">Demo6</option>
  </select>
  <input type="submit" name="" value="Submit">
</form>


推荐阅读