Как вернуть данные из ajax для выбора тега - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть два тега select в auth.register.

<div class = "form-group col-md-6 col-sm-6">
    <label for="years">Name of Course*</label>     
    <select class="form-control input-sm required" id="courses_name" name="alumni_course">
        <option value="">-- Select Any one --</option>
        @foreach($coursename as $coursenames)
            <option value="{{ $coursenames->id.','.$coursenames->coursename }}" >{{ $coursenames->coursename }}</option>
        @endforeach
    </select>
</div>

<div class = "form-group col-md-6 col-sm-6" id="dvPassport" style="display:none">
    <label for="years">Name of Branch*</label>     

    <select class="form-control input-sm required" id="branch_name" name="alumni_branch">
        @if(isset($branchname))
            @foreach($branchname as $branchnames)
                <option value="{{ $branchnames->id }}" >{{ $branchnames->branchname }}</option>
            @endforeach
        @endif
    </select>
</div>

Если из опции Name of Course, любой из них выберет BE / B.TECH.или DIPLOMA, тогда будет отображаться название филиала и данные будут связаны с BE / B.TECH.или ДИПЛОМ.

МОЙ Ajax на той же странице:

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

            var courses_name1 = $("#courses_name").val();
            var courses_name2 = courses_name1.split(",");
            var id = courses_name2[0];
            var courses_name2 = courses_name2[1];
            if (courses_name2 == 'B.E./B.TECH.' || courses_name2 == 'DIPLOMA') {
                $("#dvPassport").show();
                $.ajax({
                    type: "GET",
                    url: "findbranch",
                    data: {
                        'id': id
                    },
                }).done(function(data) {
                    $("#branch_name").html(data.html);
                    //console.log(data);
                });
            } else {
                $("#dvPassport").hide();
            }
        });
    });
</script> 

Маршрут:

Route::get('findbranch','Auth\RegisterController@findbranch');

Контроллер:

public function findbranch(Request $request)
{
    $branchname = branchname::where('course_id', $request->id)->get();
    $html = view('auth.register')->with(compact('branchname'))->render();
    return response()->json(['success' => true, 'html' => $html]);
}

Но данные не отображаются в названии ветви.

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018

Использование

$html = view('auth.register')->with(compact('branchname'))->render();

Это решит вашу проблему.

Редактировать:

Проблема с вашим $("#branch_name").html(data.html);

должно быть $("#branch_name").html(data);

0 голосов
/ 23 ноября 2018

Вы можете попробовать этот код:

$. Ajax ({

        url: base_url + '/findbranch',
        type: "GET",
        data: {'id': id},
        dataType: 'json',
        success: function(data) {

           $("#branch_name").html(data.html);
        },
0 голосов
/ 23 ноября 2018

Тестовое добавление:

use App\branchname;

в верхней части вашего контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...