Получить идентификатор выбора с помощью laravel и ajax - PullRequest
0 голосов
/ 15 марта 2020

У меня есть две таблицы: роль и персоны.

В моей таблице персон у меня есть внешний ключ 'idrole' таблицы: роль. Я создал раскрывающийся список, который извлекает роли из моей таблицы: role

Моя проблема заключается в следующем: я не могу получить идентификатор выбранной роли из раскрывающегося списка

Я начинающий с laravel и ajax. Спасибо за вашу помощь

Код моей html страницы:

<span>Name Role: </span>
<select style="width: 200px" class="namerole" id="nom">

    <option value="0" disabled="true" selected="true">-Select-</option>
    @foreach($roles as $role)
        <option value="{{$role->nom}}">{{$role->nom}}</option>
    @endforeach

</select>

<span>Id Role: </span>
<input type="text" class="idrole" id="idrole" disabled>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<script type="text/javascript">
    $(document).ready(function() {

        $(document).on('change', '.namerole', function () {

            var role_nom = $(this).val();

            var div = $(this).parent();

            $.ajax({
                type: 'get',
                url: '{!!URL::to('findIdRole')!!}',
                data: {'nom':role_nom},
                dataType:'json',
                success: function (data) {
                    console.log('success');
                    div.find('.idrole').val(data.id_r);

                    console.log('error');
                }
            });
        });
    });
</script>

Моя функция:

public function findIdRole(Request $request){
    $rj=DB::table('role')
        ->select('id_r')
        ->where('nom',$request->nom)
        ->first();
    return response()->json($rj);
}

1 Ответ

0 голосов
/ 15 марта 2020

используйте $ request-> get ('nom') вместо $ request-> nom,

Я не уверен, но, вероятно, он поступает в виде массива, а также не является объектом

public function findIdRole(Request $request){
    $rj=DB::table('role')
        ->select('id_r')
        ->where('nom',$request->get('nom')) // here is the change
        ->first();
    return response()->json($rj);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...