Laravel 8在下拉菜单中选择数值后自动填充



问题又来了

如果我选择rute banjarmasin-jakarta, biaya pelayaran字段将填充1750.000

但是,我想再次选择"而biaya pelayaran field将填满0

选定的"车辙"在biaya pelayaran字段中填充0

this my view

<select class="form-control select2bs4" id="biaya_pelayaran_id" name="biaya_pelayaran_id"
style="width: 100%;">
<option value="">Cari Rute Pelayaran</option>
@foreach ($biaya_pelayaran as $item)
<option value="{{ $item->id }}"> Rute: {{ $item->rute_asal }}
-
{{ $item->rute_tujuan }} || Unit:
{{ $item->unit->nama }} || Biaya:
{{ number_format($item->biaya_pelayaran) }}
</option>
@endforeach
</select>
<div class="col-md-4">
<div class="form-group">
<label for="biaya_kapal">Biaya Pelayaran</label>
<input type="number" class="form-control" id="biaya_kapal" name="biaya_kapal"
value="0" readonly>
</div>
</div>

my ajax/javascript code

$('#biaya_pelayaran_id').change(function() {
var id = $(this).val();
var url = '{{ route('getBiayaPelayaran', ':id') }}';
url = url.replace(':id', id);
$.ajax({
url: url,
type: 'get',
dataType: 'json',
success: function(response) {
if (response !== null) {
$('#biaya_kapal').val(response.biaya_pelayaran);
}
}
});
});

控制器

public function getBiayaPelayaran($id = 0)
{
$data = BiayaPelayaran::find($id);
echo json_encode($data);
}

用这个替换你的ajax/javascript代码,它可能会工作

$.ajax({
url: url,
type: 'get',
dataType: 'json',
success: function(response) {
if (response !== null) {
$('#biaya_kapal').val('');
$('#biaya_kapal').val(response.biaya_pelayaran);
}
}
});

最新更新