laravel - 如何在laravel的多选复选框列表中显示选定的复选框?

标签 laravel multi-select multichoiceitems jquery-ui-multiselect

我有一个多选复选框列表。我想使用选中的复选框在列表中显示存储的值。

用户信息存储在 Partner_Prefence 表和用户宗教列命名为 p_religion

$profile_data= DB::table('partner_prefence')->select('p_religion')->first();

从宗教表中获取宗教
$religion_data=DB::table('religion')->select('religion_id','religion_name')->orderby('religion_name')->get();

多选列表
<select  multiple="multiple" name="religion[]">
   @foreach($religion_data as $religion)
     <option value="{{$religion->religion_id}}" {{$profile_data->p_religion == $religion->religion_id  ? 'selected' : ''}}>{{$religion->religion_name}}</option>
   @endforeach
</select>

我无法显示用户拥有哪些宗教
{{$profile_data->p_religion == $religion->religion_id  ? 'selected' : ''}}

最佳答案

据我了解,您有多选表单,因此您需要显示选定的多列..

您将 id 存储为字符串,但很难检查字符串中的某个数字。如果您将字符串转换为数组,您可以轻松地检查 in_array()方法。如果给定数组中存在给定值,则此方法将返回 true

<select multiple="multiple" name="religion[]">
    {{-- no need to explode every time, it will reduce your performance --}}
    @php($religions = explode(',', $profile_data->p_religion))
    @foreach($religion_data as $religion)
        <option
                value="{{$religion->religion_id}}"
                {{--if user religion id exist in religions then mark as selected--}}
                {{in_array($religion->religion_id,$religions) ? "selected" : ""}}>
            {{$religion->religion_name}}
        </option>
    @endforeach
</select>

关于laravel - 如何在laravel的多选复选框列表中显示选定的复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52595693/

相关文章:

php - Laravel belongsTo 只返回 id 而不是整个对象

javascript - 将值动态绑定(bind)到 jQuery 多选控件显示单选按钮

jquery - 从 jQuery 的多选下拉列表中取消选择所有元素

android - 列表项不会出现在 AlertDialog 中

node.js - 无法运行 > Laravel 上的 npm run watch

Laravel Errorbag​​ 无法在 Blade 组件内工作

laravel - Laravel 中如何首先按当前登录用户排序?

javascript - 使用 vue multiselect 过滤表格

android - DialogFragment 按钮推出屏幕 API 24 及更高版本