【问题标题】:The second dropdown value for multiple dropdown value NOT SAVE in database using laravel使用 laravel 在数据库中不保存多个下拉值的第二个下拉值
【发布时间】:2021-08-28 00:50:55
【问题描述】:

大家好!首先,我的编码都是关于动态下拉值的,现在的问题是第二个下拉值没有保存在数据库中。我错过或错了哪一部分?

查看:-

<div class="col-md-3">
    <select class="shiftPatternID" name="inputShiftPatternID" id="inputShiftPatternID" required style="width: 100%">
        <option value="" hidden disabled selected>Please Select</option>
        @foreach ($shiftpattern as $singleshiftpattern)
            <option value="{{ $singleshiftpattern->id }}">{{ $singleshiftpattern->id }} - {{ $singleshiftpattern->code }}</option>
        @endforeach
    </select>
</div>

<div class="col-md-3">
    <select class="sapCode" name="inputSapCode" id="inputSapCode" required style="width: 100%">
        <option value="0" disabled="true" selected="true">Please Select</option>
    </select>
</div>

使用 jquery 脚本查看第二个下拉菜单:-

$(document).ready(function() {
    $(document).on('change','.shiftPatternID',function() {
        var cat_id=$(this).val();
        var div=$(this).parent().parent().parent();
        var op=" ";

        $.ajax({
            type: 'get',
            url: '{!! URL::to('findSapCode') !!}',
            data: {
                'id':cat_id
            },
            
            success: function(data) {
                op+='<option value="0" selected disabled>Please Select</option>';
                for (var i=0;i<data.length;i++) {
                    op += '<option value="'+data[i].id+'">'+data[i].code+' - '+data[i].description+'</option>';
                }

                $('.sapCode').html('') ; 
                $('.sapCode').append(op);
            },
            error: function() {

            }
        });
    });
});

控制器:-

public function store(Request $req)
{
    $var_shift_pattern_id = $req ->inputShiftPatternID;
    $var_sap_code = $req ->inputSapCode;

    $usp_var = new UserShiftPattern;
    $usp_var-> shift_pattern_id = $var_shift_pattern_id;
    $usp_var-> sap_code = $var_sap_code;
    $usp_var->save();
    $execute = UserHelper::LogUserAct($req, "User Work Schedule Management", "Create User Work Schedule " .$req->inputUserID);
    $feedback_text = "Successfully created User Work Schedule ".$req->inputUserID.".";
    $feedback_title = "Successfully Created";

    return redirect(route('usp.index', [], false))
        ->with([
            'feedback' => true,
            'feedback_text' => $feedback_text,
            'feedback_title' => $feedback_title
        ]);
}

路线:-

Route::get('/findSapCode','Admin\UserShiftPatternController@findSapCode');
Route::get('/admin/usershiftpattern', 'Admin\UserShiftPatternController@index')->name('usp.index');
Route::post('/admin/usershiftpattern/add', 'Admin\UserShiftPatternController@store')->name('usp.store');
Route::post('/admin/usershiftpattern', 'Admin\UserShiftPatternController@index')->name('usp.index');

【问题讨论】:

  • 能否提供刀片模板代码
  • @John Lobo 已经编辑了我的问题
  • 你也可以显示数据库结构或尝试 dd($req->all())
  • 我应该把 dd($req->all()) 放在哪里?
  • 之前 $var_shift_pattern_id = $req ->inputShiftPatternID;这个

标签: php jquery laravel laravel-8


【解决方案1】:

问题在于 jquery 中错误传递的选项值。它应该是 data[i].code 而不是 data[i].id

op+='<option value="'+data[i].code+'">'+data[i].code+" "+data[i].description+'</option>'

您可能还需要更新查询以显示描述

$data=ShiftPattern::select('code','id','description')->where('id',$request->id)->take(100)->get();
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    相关资源
    最近更新 更多