如何通过ajax发送相同选择框的多个值

时间:2018-12-14 10:36:22

标签: php jquery ajax select

我有一个带有多个选择选项的select框。我想通过AJAX请求在数组中发送选定的值。如何在select标签中选择多个值,并在单击时将所有值发送到数组中?

<script type="text/javascript">
</script>

<select name="name[]" id="name[]">
  <option>--Select--</option>
  <?php $sql = mysql_query("select * from med_list order by medicine asc");
  while($sha=mysql_fetch_array($sql)) { ?>
    <option style="color:#007F55" value="<?php echo $sha['id']; ?>">
      <?php echo mysql_real_escape_string($sha['medicine']); ?>
    </option>
  <?php } ?>
</select>
$("#submit").click(function() {
  var bac = $("#bacteria").val();
  alert(bac);
});

4 个答案:

答案 0 :(得分:1)

检查此代码

<select id="data" name="data" class="data" multiple="multiple">
<option value="100">foo</option>
<option value="101">bar</option>
<option value="102">bat</option>
<option value="103">baz</option>
</select>

jQuery:

   $(".data").val(["100", "101"]);

答案 1 :(得分:1)

首先,在select标签中添加多个属性,并在id属性中删除数组括号。 第二件事,在“提交”按钮上,您得到错误的选择框ID的值。

var bac = $(“#bacteria”)。val(); 替换为 var bac = $(“#name”)。val(); < / p>

<select name="name[]" id="name" multiple="multiple">
    <option value="">Select Any Value</option>
    <option value="name1">Name 1</option>
    <option value="name2">Name 2</option>
    <option value="name3">Name 3</option>
    <option value="name4">Name 4</option>
    <option value="name5">Name 5</option>
</select>
<button id="submit">Submit</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$("#submit").click(function() {
  var bac = $("#name").val();
  alert(bac);
});
</script>

答案 2 :(得分:1)

使用 id="name" 而不是 id="name[]"

<select name="name[]" id="name">

答案 3 :(得分:0)

首先是要知道您将发送数据数组, 如果您使用“ var bac = $(”#bacteria“)。val();”它只会拿第一个项目,并且会通过它。 要通过ajax发送相同选择框的多个值,请先创建一个数组,然后将其传递 这就是我做到的方法,而且有效

fetch('service-worker.js')

根据您的php文件,您可以忽略if语句