【问题标题】:php drop down list with "two values" for each "option" and multiple selectionsphp下拉列表,每个“选项”都有“两个值”和多个选择
【发布时间】:2017-06-02 22:00:20
【问题描述】:

我有一个包含两列的表格:City 和 ZIPcode

使用 HTML / PHP / MySQL

创建了一个下拉选择列表,其中城市为标签,邮政编码为值。现在我想同时捕获选定的城市和邮政编码(通过数组 [] 使用多项选择)。 “explode”不支持数组[]。

请帮助我如何实现这一目标。

【问题讨论】:

标签: php drop-down-menu


【解决方案1】:

如果您只需要使用 HTML 和 PHP(没有 Javascript),您可以将它们放在同一个选择中并使用分隔符,如下所示:

<option value="City,Zip">City</option>

然后在服务器上像这样处理它:

<?php
     $location_data = $_POST["location_variable"];
     $exploded = explode(",", $location_data);
     $city = $exploded[0];
     $zip  = $exploded[1];
?>

您可能希望包括错误处理、检查以确保分解后的数据长度合适,等等。

但是,如果您可以访问 javascript/jQuery,则可以将 zip 或城市与数据属性绑定,并使用新的隐藏数据属性将其发送。

<option value="City" data-zip="zip">City</option>

然后在 Javascript 中:

$("form").submit(function() {
     //find our zip value
     var zip   = $(this).find(":selected").data("zip");

     //create a new hidden input named "zip"
     var input = $("<input>").attr("type", "hidden").attr("name", "zip").val(zip);

     //add it to our form
     $(this).append(input);
 });

【讨论】:

  • 我已经尝试过第一个选项(HTML 代码),它适用于单选;但我想选择最多 5 个城市,所以使用数组。 explode 不支持数组。
  • @SagarPatra 对于多重选择,您只需要迭代选择数组并分解每个选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-18
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多