我希望根据用户从同一页面的下拉列表中选择的内容自动填充页面中的一些文本框。
就像,如果用户做出选择,则自动从数据库中填充相关信息。然后,如果用户更改选择,则动态更新和更改文本框中的信息以匹配选择。
到目前为止,如果我对选择进行硬编码,我所能做的就是显示一些数据库文本(当然,无论用户做什么,它只会显示相同的内容)。
假设我正在从数据库中名为 info_description 的特定字段中提取一些信息:
$fill = \DB::table('tbl_information')->where('id', 1)->pluck('info_description');
像这样传递给 blade.php 文件:
return view('pages.information')
->with('fill', $fill);
我的 blade.php 文件中有以下内容
<div class="form-group">
<label class="col-md-4 control-label">app method</label>
<div class="col-md-6 input-group-sm">
{!! Form::text('text', $fill) !!}
</div>
</div>
我想我需要一些 JavaScript 来帮助我解决这个问题,但我完全不知道如何去做。如果有人可以指导我,我真的需要一些帮助和指导。
我怎样才能让它工作?
最佳答案
这应该让您抢先一步。
路由.php
Route::get('/infos/{id}', 'InfoController@getInfo');
InfoController.php
public function getInfo($id)
{
$fill = \DB::table('tbl_information')->where('id', $id)->pluck('info_description');
return Response::json(['success'=>true, 'info'=>$fill]);
}
app.js
$("#info_id").change(function() {
$.ajax({
url: '/info/' + $(this).val(),
type: 'get',
data: {},
success: function(data) {
if (data.success == true) {
$("#info_id").value = data.info;
} else {
alert('Cannot find info');
}
},
error: function(jqXHR, textStatus, errorThrown) {}
});
});
HTML
<select name="info_id" id="info_id">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<textarea name="info_area" id="info_area" cols="30" rows="10"></textarea>
关于javascript - 根据下拉选择自动填充文本框(Laravel 和 Javascript 帮助!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923612/