отображать данные о клиентах по клику товаров, используя ajax in laravel - PullRequest
0 голосов
/ 25 февраля 2020

Я отображаю список клиентов из базы данных, но теперь я хочу получить информацию из базы данных выбранного клиента. Нужна помощь Как я могу передать customer_id из выпадающего списка в блейд-файл, чтобы получить информацию о клиенте? Я использую тег ul для отображения списка клиентов и в следующий шаг, когда я нажимаю на информацию об отображении клиента в следующем текстовом поле.

Blade:

<h4>Customer Details</h4><hr>
<form action="/customer" method="post">
    <input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
    <div class="row">
        <div class="col-sm-4">
            <p class="c-black f-500">Customer Name</p>
            <div class="form-group">
                <div class="fg-line">
                    <input type="text" class="form-control" name="name" id="name" placeholder="Enter Customer Name or Mobile Number" autocomplete="off" required="">
                    <div id="nameList">
                    </div>
                </div>
            </div>
        </div>
        <div class="col-sm-4">
            <p class="c-black f-500">Customer Mobile Number</p>
            <div class="form-group">
                <div class="fg-line">
                    <input type="text" class="form-control" name="customer_mobile" id="customer_mobile" value="">
                </div>
            </div>
        </div>
        <div class="col-sm-4">
            <p class="c-black f-500">Customer Email</p>
            <div class="form-group">
                <div class="fg-line">
                    <input type="text" class="form-control" name="customer_email" id="customer_email" value="">
                </div>
            </div>
        </div>

    </div>
</form>

Контроллер:

public function fetch(Request $request)
{
    if ($request->get('query')) {
        $query = $request->get('query');

        if (is_numeric($query)) {
            $data = DB::table('customer')
                ->where('customer_mobile', 'LIKE', "%{$query}%")
                ->get();
            $output = '<ul class="dropdown-menu" style="margin-left:16px;top:68px;display:block;position:auto;width:auto">';
            foreach ($data as $row) {
                $output .= '
                   <li><a href="#">' . $row->customer_mobile . '</a></li>
                   ';
            }
            $output .= '</ul>';
            echo $output;

        } else {
            $data = DB::table('customer')
                ->where('customer_name', 'LIKE', "%{$query}%")
                ->get();
            $output = '<ul class="dropdown-menu" style="margin-left:16px;top:68px;display:block;position:auto">';
            foreach ($data as $row) {
                $output .= '
                   <li><a href="#">' . $row->customer_name . '</a></li>
                   ';
            }
            $output .= '</ul>';
            echo $output;
        }
    }
}

javascript:

$(document).ready(function(){

    $('#name').keyup(function(){ 
        var query = $(this).val();

        if(query != ''){
            var _token = $('input[name="_token"]').val();

            $.ajax({
                url:"{{ url('/autocomplete') }}",
                method:"POST",
                data:{query:query, _token:_token},
                success:function(data){
                    $('#nameList').fadeIn();  
                    $('#nameList').html(data);
                }
            });
        }
    });

    $(document).on('click', 'li', function(){  
        $('#name').val($(this).text());
        $('#nameList').fadeOut();  
    });  

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