Laravel 在 modal-view.blade 中将整数值显示为字符串

Posted

技术标签:

【中文标题】Laravel 在 modal-view.blade 中将整数值显示为字符串【英文标题】:Laravel display integer value into string in modal-view.blade 【发布时间】:2022-01-12 06:39:19 【问题描述】:

您好,我有一个包含订单数据的模式,但是我想替换一些特定的值,例如 group_id 的值。在我的view-modal.blade.php 中,group_id 的值为int,我想在我的模态中将其显示为String,例如:

if($group->group_id == 1)
    <input value="(2)ADAM GROUP">
elseif($group->group_id == 2)
    <input value="(3)BRIAN GROUP">

这是用于在我的index.blade.php 中捕获订单id 并在我的view-modal.blade 中显示它的 JQuery:

$('body').on('click', '.viewMediaOrder', function()
                var id = $(this).data('id');
                $.get('media-order/'+id+'/edit', function (data)
                    $('#modalHeading').html("View Media Order");
                    $('#viewMediaOrderSubmitButton').val("view-media-order");
                    $('#viewMediaOrderSubmitButton').prop('disabled',false);
                    $('#viewMediaOrderModal').modal('show');
                    $('#viewMediaOrderModal').modal('hide');
                    $('#id_view').val(data.id);
                    $('#nomor_view').val(data.nomor);
                    $('#nomor_reference_view').val(data.nomor_reference);
                    $('#periode_start_view').val(data.periode_start);
                    $('#periode_end_view').val(data.periode_end);
                    $('#category_id_view').val(data.category_id);
                    $('#type_id_view').val(data.type_id);
                    $('#agency_code_view').val(data.agency_code);
                    $('#agency_name_view').val(data.agency_name);
                    $('#advertiser_name_view').val(data.advertiser_name);
                    $('#advertiser_code_view').val(data.advertiser_code);
                    $('#brand_code_view').val(data.brand_code);
                    $('#brand_name_view').val(data.brand_name);
                    $('#version_code_view').val(data.version_code);
                    $('#nett_budget_view').val(data.nett_budget);
                    $('#gross_value_view').val(data.gross_value);
                    $('#nett_cashback_view').val(data.nett_cashback);
                    $('#nett_bundling_view').val(data.nett_bundling);
                    $('#spot_view').val(data.spot);
                    $('#accountexecutive_name_view').val(data.accountexecutive_name);
                    $('#group_id_view').val(data.group_id);
                    $('#userto_name_view').val(data.userto_name);
                    $('#notes_view').val(data.notes);
                    $('#attachment_name_view').val(data.attachment_name);
                )
        );

这是我的view-modal.blade.php 中的group_id 输入值:

<div class="row mg-t-20">
                            <label class="col-sm-4 form-control-label">Group Sales:</label>
                            <div class="col-sm-8 mg-t-10 mg-sm-t-0">
                                <input name="group_id" id="group_id_view" class="form-control select2" readonly></input>
                            </div>
                        </div>

那么有人有其他方式来显示它吗?我尝试使用ifswitch,但我不知道如何捕捉group_id 值,为我的英语道歉,谢谢!。

编辑:

这是我的controller.phpindex

public function index(Request $request)

        if ($request->ajax()) 
            if(auth()->user()->is_admin)
                $data = MediaOrder::get();
            elseif(auth()->user()->group_id)
                $data = MediaOrder::memberOf(auth()->user()->group_id)->get();
            else
                $data = MediaOrder::get();
            
            return DataTables::of($data)
                    ->addIndexColumn()
                    ->addColumn('action',function($row)
                        $btn = '<a style="margin:5px" href="javascript:void(0)" id="viewMediaOrder" data-toggle="tooltip"  data-id="'.$row->id.'" data-original-title="View" class="edit btn btn-primary btn-sm button1 viewMediaOrder" value=" csrf_token() "><i class="fa fa-eye mr-1"></i>View</a>';
                        if($row->isdisabled == 0 && !auth()->user()->is_traffic)
                            $btn = $btn.'<a style="margin:5px" href="javascript:void(0)" id="editMediaOrder" data-toggle="tooltip"  data-id="'.$row->id.'" data-original-title="Edit" class="edit btn btn-warning btn-sm button1 editMediaOrder" value=" csrf_token() "><i class="fa fa-pencil mr-1"></i>Edit</a>

                            <a style="margin:5px" href="javascript:void(0)" data-toggle="tooltip" id="disableMediaOrder"  data-id="'.$row->id.'" data-original-title="Delete" class="btn btn-danger btn-sm button1 disableMediaOrder" value=" csrf_token() "><i class="fa fa-power-off mr-1"></i>Disable</a>';
                        
                            return $btn;
                    )
                    ->editColumn('isdisabled', function($row)
                        
                        if($row->isdisabled == 0 && auth()->user()->is_traffic)
                            $combo = '<input data-id="'.$row->id.'" type="checkbox" class="checkedTraffic">';

                            return $combo;
                        elseif($row->isdisabled == 0)
                            $row = "Active";

                            return $row;
                        elseif($row->isdisabled == 1)
                            $row = "Disabled";

                            return $row;
                        elseif($row->isdisabled == 2)
                            $row = "Checked by Traffic";

                            return $row;
                        elseif(!auth()->user()->is_traffic)
                            $row = $row->isdisabled;

                            return $row;
                            

                            
                    )
                    ->rawColumns(['action','isdisabled'])
                    ->make(true);
         else 

            \Meta::set('title', 'Media Order');
            $groups = Group::all();
            $media_order = DB::table('media_order')->get();
            $moo = MediaOrder::get();
            $selected = auth()->user()->group_id;
            $mediaOrder = MediaOrder::all();
            $users = User::orderBy('name', 'asc')->get();

            return view('media-order.index')->with(compact('users','moo','groups','selected','mediaOrder'));
        
    

这里是edit 视图函数:

public function edit($id)
           
        $where = array('id' => $id);
        $moe = MediaOrder::where($where)->first();
        return Response::json($moe);
    

【问题讨论】:

【参考方案1】:

在你的刀片中试试这个:

@if ($group->group_id == 1)
    <input value="(2)ADAM GROUP">
@elseif ($group->group_id == 2)
    <input value="(3)BRIAN GROUP">
@endif

【讨论】:

很遗憾它不起作用,group_id 在那里并出现在 console.log() 但它不会出现 您确定输入类型了吗?像这样&lt;input type="text" value="(2)ADAM GROUP"&gt; 是的,它仍然没有工作,它跳过@if 值并只显示默认值 您能否在显示view-modal.blade.php 之前编辑您的帖子以显示您的controller 代码? 我已经更新了我的问题

以上是关于Laravel 在 modal-view.blade 中将整数值显示为字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 上通过 Laravel Installer 安装 Laravel?

在 Mac 上安装 Laravel 会抛出 laravel,即使在设置 PATH 后也找不到

Laravel 在控制器中使用非 Laravel Composer 包

如何在 Laravel 8 中使用 srmklive/laravel-paypal v3

laravel怎么在中间表插入数据

在 laravel 中创建一个下拉列表来选择用户角色 - laravel