簡體   English   中英

如何從多選輸入中獲取所有選定的值?

[英]How to get all the selected values from a multiselect input?

我正在使用 Laravel 並嘗試使用die(var_dump('$request->input('users'))); 檢查使用多選輸入選擇的數據。 當我選擇所有 3 個用戶時,輸出只是顯示最后一個用戶 ID,如下所示

array(1) {
  [0]=>
  string(1) "3"
}

這是輸入。 名稱設置為user[0]因為輸入可以是多個,這取決於用戶需要多少個多選輸入

<select class="form-control user" id="user" name="user[0]" multiple="">
    @foreach ($users as $user)
        @if (old('user') == $user->id)
            <option value="{{ $user->id }}" selected="">{{ ucwords($user->name) }}</option>
        @endif
    @endforeach
</select>

下面這個如果來自控制器

$users = array();
$user = $request->input('user');
$user = implode(',', $user);

您應該將輸入名稱設置為將元素添加到數組的語法:

 name="user[]"

然后你會從$request->input('user', []);得到你的數組$request->input('user', []);

如果您有多個不同的選擇,您可以根據需要在其中使用索引:

 name="user[0][]"
 name="user[1][]"

您已將輸入字段設為數組。

刀片.php文件

<select class="form-control user" id="user" name="user[]" multiple="">
    @foreach ($users as $user)
        @if (old('user') == $user->id)
            <option value="{{ $user->id }}" selected="">{{ ucwords($user->name) }}</option>
        @endif
    @endforeach

</select>

控制器

$users = array();
$users = $request->input('user',[]);
$users = implode(',', $users);

為什么在這里將數組轉換為字符串$users = implode(',', $users); ?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM