Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
bagaimana cara agar form terisi otomatis setelah melakukan select di laravel
saya sedang menjalankan project, tapi saya menemukan kebuntuan saat ingin membuat form disabled yang terisi otomatis setelah melakukan select. saya sudah mencoba menggunakan ajax, tetapi tidak kunjung berhasil. padahal ketika saya melakukan perintah
console.log()
data tersebut berhasil ditampilkan. berikut file dari view nya
@extends('layout.app')
@section('title', 'BARANG OPNAME')
@section('content')
<h1 class="h3 mb-2 text-gray-800">{{ isset($barang_opname) ? 'Edit Data Barang Opname' : 'Tambah data Barang Opname' }}
</h1>
<!-- Basic Card Example -->
<div class="row">
<div class="col-8">
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">
{{ isset($barang_opname) ? 'Form Edit Barang Opname' : 'Form Tambah Barang Opname' }}</h6>
</div>
<div class="card-body" id="container-inputdata">
<form
action="{{ isset($barang_opname) ? route('brg_opname.add.update', $barang_opname->id) : route('brg_opname.add.insert') }}"
method="POST">
@csrf
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Nama Barang</label>
<div class="col-sm-9">
<select id="nm_barang" name="nm_barang" class="form-control search">
<option value="" selected disabled hidden>-- Pilih Barang --</option>
@foreach ($barang as $row)
<option value="{{ $row->id }}"
{{ isset($barang_opname) ? ($barang_opname->nm_barang == $row->id ? 'selected' : '') : '' }}>
{{ $row->nm_barang }}</option>
@endforeach
</select>
</div>
@error('nm_barang')
{{ $message }}
@enderror
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Stok Awal Barang Besar</label>
<div class="col-sm-3">
<input id="get_stokawal_kecil" type="number" class="form-control"
value="{{ isset($barang_opname) ? $barang_opname->stok_awalbarang_besar : '' }}{{ old('stok_awalbarang_besar') }}"
name="stok_awalbarang_besar" id="stok_awalbarang_besar" readonly>
</div>
@error('stok_awalbarang_besar')
{{ $message }}
@enderror
<label class="col-sm-3 col-form-label">Stok akhir Barang Besar</label>
<div class="col-sm-3">
<input type="number" class="form-control"
value="{{ isset($barang_opname) ? $barang_opname->stok_akhirbarang_besar : '' }}{{ old('stok_akhirbarang_besar') }}"
name="stok_akhirbarang_besar" readonly>
</div>
@error('stok_akhirbarang_besar')
{{ $message }}
@enderror
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Harga Awal Barang Besar</label>
<div class="col-sm-3">
<input
data-inputmask="
'alias': 'numeric',
'prefix' : 'Rp.',
'digits' : '3',
'groupSeparator' : '.',
'autoGroup' : true"
id="uang" type="number" class="form-control uang"
value="{{ isset($barang_opname) ? $barang_opname->harga_awalbarang_besar : '' }}{{ old('harga_awalbarang_besar') }}"
name="harga_awalbarang_besar" readonly>
</div>
@error('harga_awalbarang_besar')
{{ $message }}
@enderror
<label class="col-sm-3 col-form-label">Harga akhir Barang Besar</label>
<div class="col-sm-3">
<input
data-inputmask="
'alias': 'numeric',
'prefix' : 'Rp.',
'digits' : '3',
'groupSeparator' : '.',
'autoGroup' : true"
id="uang" type="number" class="form-control uang"
value="{{ isset($barang_opname) ? $barang_opname->harga_akhirbarang_besar : '' }}{{ old('harga_akhirbarang_besar') }}"
name="harga_akhirbarang_besar" readonly>
</div>
@error('harga_akhirbarang_besar')
{{ $message }}
@enderror
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Stok Awal Barang Kecil</label>
<div class="col-sm-3">
<input type="number" class="form-control"
value="{{ isset($barang_opname) ? $barang_opname->stok_awalbarang_kecil : '' }}{{ old('stok_awalbarang_kecil') }}"
name="stok_awalbarang_kecil" readonly>
</div>
@error('stok_awalbarang_kecil')
{{ $message }}
@enderror
<label class="col-sm-3 col-form-label">Stok akhir Barang Kecil</label>
<div class="col-sm-3">
<input type="number" class="form-control"
value="{{ isset($barang_opname) ? $barang_opname->stok_akhirbarang_kecil : '' }}{{ old('stok_akhirbarang_kecil') }}"
name="stok_akhirbarang_kecil" readonly>
</div>
@error('stok_akhirbarang_kecil')
{{ $message }}
@enderror
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Harga Awal Barang Kecil</label>
<div class="col-sm-3">
<input type="number" class="form-control"
value="{{ isset($barang_opname) ? $barang_opname->harga_awalbarang_kecil : '' }}{{ old('harga_awalbarang_kecil') }}"
name="harga_awalbarang_kecil" readonly>
</div>
@error('harga_awalbarang_kecil')
{{ $message }}
@enderror
<label class="col-sm-3 col-form-label">Harga akhir Barang Kecil</label>
<div class="col-sm-3">
<input type="number" class="form-control"
value="{{ isset($barang_opname) ? $barang_opname->harga_akhirbarang_kecil : '' }}{{ old('harga_akhirbarang_kecil') }}"
name="harga_akhirbarang_kecil" readonly>
</div>
@error('harga_akhirbarang_kecil')
{{ $message }}
@enderror
</div>
<p class="mb-1">keterangan :</p>
<p class="mb-1">barang masuk = jumlah</p>
<p class="mb-1">barang keluar = jumlah</p>
<input type="hidden" name="karyawan_input" value="{{ auth()->user()->id }}">
<input type="hidden" name="pejabat" value="22">
<div class="d-grid gap-2 d-md-flex justify-content-md-end">
<button type="submit" class="btn btn-primary me-md-2"><i class="fas fa-save">
Simpan</i></button>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection
@push('ambil_data')
<script>
$(document).ready(function() {
$('#nm_barang').on('change', function() {
var nm_barang = this.value;
var row = $(this),
stok_awalbarang_besar = row.attr('#stok_awalbarang_besar');
$.ajax({
url: '/api/databarang/' + nm_barang,
type: "GET",
data: {
id: nm_barang,
_token: '{{ csrf_token() }}'
},
dataType: 'json',
success: function(result) {
// console.log(result);
if (result) {
// $('stok_awalbarang_besar').val(result['stok_totalbarang_besar']);
console.log('nama barang = ' + result.nm_barang + ', stok = ' +
result['stok_totalbarang_besar']);
$("input[type='text']").on("change", function() {
($('stok_awalbarang_besar').val(result[
'stok_totalbarang_besar']))
});
}
}
});
});
});
</script>
@endpush
1 Jawaban:
Baris ini
$("input[type='text']").on("change", function() {
($('stok_awalbarang_besar').val(result[
'stok_totalbarang_besar']))
});
mungkin salah, kamu tidak perlu on change, lagi karena sudah di pembungkus awalnya, sebelum melakukan ajax.
Pastikan juga pilih elemen dengan nama tanda pagar # (kalau id) . Titik kalau kelas (.)
Jadi setelah ajax gunakan ini langsung, tanpa perlu input text on change lagi
$('#stok_awalbarang_besar').val(NILAINYA)