【发布时间】:2017-06-02 22:00:20
【问题描述】:
我有一个包含两列的表格:City 和 ZIPcode
使用 HTML / PHP / MySQL
创建了一个下拉选择列表,其中城市为标签,邮政编码为值。现在我想同时捕获选定的城市和邮政编码(通过数组 [] 使用多项选择)。 “explode”不支持数组[]。
请帮助我如何实现这一目标。
【问题讨论】:
标签: php drop-down-menu
我有一个包含两列的表格:City 和 ZIPcode
使用 HTML / PHP / MySQL
创建了一个下拉选择列表,其中城市为标签,邮政编码为值。现在我想同时捕获选定的城市和邮政编码(通过数组 [] 使用多项选择)。 “explode”不支持数组[]。
请帮助我如何实现这一目标。
【问题讨论】:
标签: php drop-down-menu
如果您只需要使用 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);
});
【讨论】: