php下拉列表,每个“选项”和多个选项都带有“两个值”

时间:2017-06-02 22:00:20

标签: php drop-down-menu

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

使用HTML / PHP / MySQL

创建了一个下拉选择列表,其中City为Label,ZIPcode为Value。现在我想要捕获所选的City和ZIPcode(通过array []使用多个选择)。 “explode”不支持数组[]。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果你只需要使用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或city,并使用新的隐藏数据属性发送它。

<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);
 });