【问题标题】:How to pass data-id and data-value from select option to laravel controller?如何将数据 ID 和数据值从选择选项传递给 laravel 控制器?
【发布时间】:2020-03-07 05:59:14
【问题描述】:

如何将选项列表中的 data-id 和 data-value 传递给 laravel 控制器。

<select class="form-control users" name="users" id="users">
    <option value="" selected="selected">Select Users</option>
    @foreach($users as $user)
        @if($user->type === 'something')
            <option value="{{$user->id}}"
                data-id="{{$user->type_id}}"
                data-value="{{$user->type}}">{{$user->something['name']}}
            </option>
        @endif
        @if($user->type === 'something2')
            <option value="{{$user->id}}"
                data-id="{{$user->type_id}}"
                data-value="{{$user->type}}">{{$user->something2['name']}}
            </option>
        @endif
        @if($user->type === 'something3')
            <option value="{{$user->id}}"
                data-id="{{$user->type_id}}"
                data-value="{{$user->type}}">{{$user->something3['name']}}
            </option>
        @endif
    @endforeach
</select>

我有一个表名 A,我想在其中存储 data-id 和 data-value 的值,所以我需要将这些值传递给 laravel 控制器。我该怎么做呢。任何帮助将不胜感激。

【问题讨论】:

  • value 属性的内容是唯一从此表单元素提交的内容。所以把你的数据放在那里。
  • 我需要保存 user->id 以及 user->type 和 user->type_id。反正我能做到吗?

标签: laravel


【解决方案1】:

您可以通过特殊符号(即 - 或 @ 或 ~)分割您的值来做到这一点

<option value="{{ $user->id }}-{{ $user->type_id }}-{{ $user->type }}"></option>

以及何时提交数据

$user = request()->input('users') or Input::get('users') or $_POST['users];
$user_data = explode('-', $user); 

上面的 $user_data 变量将在 0、1 和 2 键中为您提供受尊重的数据。

所以,

$user_id = $user_data[0];
$type_id = $user_data[1];
$type = $user_data[2];

【讨论】:

  • 好的,我试试看。
  • 我和你做的一样,但它给了我这种格式的数据“用户”=>“2-4-something”,所以不能做 $user_id = $user_data[0]。
  • 你还没做explode $user_data = explode('-', $user); ,这样做,它会像我提到的那样工作。
  • 我确实爆炸了,也按照您提到的所有步骤进行操作,但没有奏效。
  • 如果你分解任何字符串,那么它会产生数组键值,所以这是不可能的,除非你会在那里犯一些其他错误。你能在这里打印你的完整代码吗?
猜你喜欢
  • 1970-01-01
  • 2020-08-09
  • 1970-01-01
  • 2013-06-02
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 2023-03-27
  • 2014-08-29
相关资源
最近更新 更多