Jquery 如何根据其他输入所做的选择填充输入
这是我的发票单。我想根据“从数据库中选择”选项字段填充标题。如何从客户机数据库获取值以填充发票表单中的标题。谢谢Jquery 如何根据其他输入所做的选择填充输入,jquery,laravel-5,Jquery,Laravel 5,这是我的发票单。我想根据“从数据库中选择”选项字段填充标题。如何从客户机数据库获取值以填充发票表单中的标题。谢谢 <form action="{{ route('admin.invoices.store') }}" method="post"> {{ csrf_field() }} <div class="row"> <div class="col-md-3"> <div c
<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>
我的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);
}
});
});
A这是我在逻辑上最挣扎的地方
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();
});
请执行以下操作:
<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 }}</option>//set the value to the client id
@endforeach
</select>
不要忘记在控制器功能中返回客户机,请执行以下操作:
<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 }}</option>//set the value to the client id
@endforeach
</select>
I finally got it right results:
after getting id:
$client = Client::find($request->id);
return $client;
I display data in ajax call, where I was struggling so it worked fine
$(document).on('change', '#client_id', function(event){
var id = $("#client_id").val();
$.ajax({
type: "POST",
url: '/populate',
data: {id: id, '_token':$('input[name=_token]').val()},
success: function( data ) {
$("#title").val(data.title);
$("#address").val([
data.address,
data.state,
data.city,
data.country,
data.code
]);
//$('#refresh').load(location.href + ' #refresh');
console.log(data.title);
}
});
});
别忘了在控制器函数中返回客户机我正在从id获取值,我不需要进行更改,当我控制台log$request->all()返回选中的值时,但我不知道如何填充输入标题,这正是我遇到的困难。谢谢什么输入标题?你想用什么填充它?我已经更新了我的问题。我想根据选择名称填充输入,例如,我选择客户名称,我想从客户数据库获取标题和地址,然后在发票表单中填充输入。谢谢我从id中获取了值,我不需要做那个更改,当我控制台log$request->all()返回并选择了值时,但是我不知道如何填充输入标题,这正是我在努力的地方。谢谢什么输入标题?你想用什么填充它?我已经更新了我的问题。我想根据选择名称填充输入,例如,我选择客户名称,我想从客户数据库获取标题和地址,然后在发票表单中填充输入。谢谢
I finally got it right results:
after getting id:
$client = Client::find($request->id);
return $client;
I display data in ajax call, where I was struggling so it worked fine
$(document).on('change', '#client_id', function(event){
var id = $("#client_id").val();
$.ajax({
type: "POST",
url: '/populate',
data: {id: id, '_token':$('input[name=_token]').val()},
success: function( data ) {
$("#title").val(data.title);
$("#address").val([
data.address,
data.state,
data.city,
data.country,
data.code
]);
//$('#refresh').load(location.href + ' #refresh');
console.log(data.title);
}
});
});