多个 select2 在表单提交时只返回一个选择

Him*_*ani 3 php jquery-select2

我在其中一种形式中使用多个 select2。提交表单后,在后端,仅获取单个选定值,而选择多个选项。

HTML

<form id="test" method="POST">
    <select name="dps_days_to[NL]" class="dokan-form-control dps_days_selection" required  multiple="multiple">
        <option></option>
        <option value="0">Sunday</option>
        <option value="1">Monday</option>
        <option value="2">Tuesday</option>
        <option value="3">Wednesday</option>
        <option value="4">Thurday</option>
    </select>
</form>
Run Code Online (Sandbox Code Playgroud)

JS

jQuery(document).ready(function( $ ){
    jQuery('.dps_days_selection').select2({
    placeholder: "Please select a day"
    });
});
Run Code Online (Sandbox Code Playgroud)

PHP

var_dump($_POST['dps_days_to']);
Run Code Online (Sandbox Code Playgroud)

结果

Array
(
    [0] => 1
)
Run Code Online (Sandbox Code Playgroud)

例如:如果从 select2 multiple 下拉列表中的可用选项中选择了 Sunday & Monday,则只返回 options Monday 的值(即 1)

拜托,有人可以帮我吗?

Vir*_*ren 6

@Himani

如果您想按照 name 获取数据dps_days_to[NL],您可以按照以下进行更改。 将 [NL] 声明为 Array[] 即 dps_days_to[NL][] ,因此它可以存储多个值。

如果 [NL] 每次都是固定的,那么这有效。

<select name="dps_days_to[NL][]" class="dokan-form-control dps_days_selection" required  multiple="multiple">
Run Code Online (Sandbox Code Playgroud)

结果

[dps_days_to] => Array
(
    [NL] => Array
    (
        [0] => 1
        [1] => 2
    )
)
Run Code Online (Sandbox Code Playgroud)