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

avatar restuah
@restuah

1 Kontribusi 0 Poin

Diperbarui 8 bulan yang lalu

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)
avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 8 bulan yang lalu

Login untuk ikut Jawaban