HTML <select> 多个 $_POST 变量同名

HTML <select> one name for multiple $_POST variables

我想做的是使用一个 select 元素来获得两个具有相同值的 $_POST 变量。 例如:

<select name='a1'>
  <option value='1'>one</option>
  <option value='2'>two</option>
  <option value='3'>three</option>
</select>

将导致 $_POST[a1] => 1

我想做的是这样的:

<select name='a1, a2'>
  <option value='1'>one</option>
  <option value='2'>two</option>
  <option value='3'>three</option>
</select>

所以:

$_POST[a1] => 1, $_POST[a2] => 1

$_POST[a1] => 2, $_POST[a2] => 2

无论表单用户 selection 是什么。

您可以将 input type="hidden" 添加到表单,然后使用它来存储基于 select 字段当前值的变量。

// Add this hidden input to your form
<input type="hidden" name="a2" value=""></input>

// Use this script to change it's value based on selection from "a1"
$("select[name=a1]").change(
    function(){ 
        $("input[name=a2]").val($(this).val()); 
    }
);

要避免显式脚本块(也避免 jquery 依赖),请使用以下 shorthand:

<!--this should be hidden, set to text Just for preview-->
<input type="text" name="a2" value="1">

<select name="a1" onchange="document.getElementsByName('a2')[0].value=this.value">
<option value='1'>one</option>
<option value='2'>two</option>
<option value='3'>three</option>
</select>