选择名称时填充输入

时间:2017-10-14 05:30:10

标签: jquery laravel-5

这是我的发票表格。我想根据来自数据库选项字段的select来填充标题。如何从客户端数据库中获取值以在发票表单中填充标题。感谢。

<form action="{{ route('admin.invoices.store') }}" method="post">  

     {{ csrf_field() }}

     <div class="row">

           <div class="col-md-3">
              <div class="form-group">

                <label for="invoicenumber">Invoice Number</label><br>
                <input class="form-control" type="text" name="invoice_no" id="number">
                <span class="alert-danger" id="number-feedback"></span>


              </div>
              <div class="form-group">
                <label for="client">Client</label><br>
               <select name="client" id="client_id" class="form-control">
                  <option value="select">Select Client</option>
                   @foreach($clients as $client)
                       <option id="option" value="{{ $client-> id|$client->name }}">{{ $client->name }}</option>
                   @endforeach
               </select>


              </div>

              <div class="form-group">
                  <label for="Title">Title</label><br>
                <input class="form-control" type="text" name="title" id="title">
                <span class="alert-danger" id="title-feedback"></span>
              </div>
           </div>

我的路线

 Route::post('/populate', 'InvoiceController@populate');

我的ajax请求

$(document).on('change', '#client_id', function(event){

    var id = $("#client_id").find(":selected").text();



$.ajax({
        type: "POST",
        url: '/populate',
        data: {id: id, '_token':$('input[name=_token]').val()},
        success: function( data ) {
           //$('#refresh').load(location.href + ' #refresh');
            console.log(data);
        }
    });

});

这是我最挣扎的逻辑

    public function populate(Request $request){

    $client =Client::find($request->id);


    }

当我选择客户名称时,这是我想从客户端表中获取以填充发票表的数据。

 Schema::create('clients', function (Blueprint $table) {
        $table->increments('id');
        $table->string('company');
        $table->string('title');
        $table->string('name');
        $table->string('phone_number');
        $table->string('email');
        $table->string('address');
        $table->string('state');
        $table->string('city');
        $table->string('country');
        $table->string('code');
        $table->string('info');
        $table->string('image');
        $table->timestamps();
    });

1 个答案:

答案 0 :(得分:1)

正如Spacemudd所说

return $client;

之后的填充函数中缺少

$client =Client::find($request->id);

之后,您可以在浏览器的控制台中查看数据。