如何使用 jinput 获取具有多个属性的 select 元素的值?

How to obtain the values of a select element with multiple attribute using jinput?

我正在尝试使用 jInput 获取具有 multiple 属性的 select 元素的值。我估计要得到一系列的值但是只得到最后一个selected option

的值

select的定义如下

... other inputs ...
<select name="jform[something]" id="something" multiple>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="...">...</option>
    <option value="Z">Z</option>
</select>

在控制器中,我有以下逻辑获取输入值,包括 select。

$requestData = $this->input->post->get('jform', array(), 'array');

这里我希望select的值是一系列selected的值但是我之前提到我只得到最后一个selected的值选项。

$requestData的内容是这样的

$requestData = [
    'name' => 'name',
    'lastname' => 'lastname',
    ...
    'something' => 'A' // Here I am expeting to have something like 'A,Z'
];

如何获得所需的值?

控制器代码属于register方法中的控制器.../components/com_users/ controllers/registration.php

如果您想从 select 框中获取多个值,请将该字段作为数组。

您的字段名称将是 - jform[something][]

<select name="jform[something][]" id="something" multiple>
   ...
</select>