relasi wilayah ekosistem

This commit is contained in:
2026-06-08 13:25:33 +07:00
parent f11be9d288
commit 482c3fc474
11 changed files with 470 additions and 70 deletions
@@ -52,6 +52,127 @@
$(element).removeClass('is-invalid');
}
});
$('[name="provinsi"]').select2({
ajax: {
url: '{{ route("provinsi.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (provinsi) {
return { id: provinsi.id, text: provinsi.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih provinsi',
minimumInputLength: 1,
}).change(function() {
$('[name="kabupaten_kota"]').empty().trigger('change');
$('[name="kecamatan"]').empty().trigger('change');
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="kabupaten_kota"]').select2({
ajax: {
url: '{{ route("kabupatenkota.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
provinsi_id: $('[name="provinsi"]').val() // filter by selected provinsi
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (kabupatenKota) {
return { id: kabupatenKota.id, text: kabupatenKota.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih kabupaten/kota',
minimumInputLength: 1,
}).change(function() {
$('[name="kecamatan"]').empty().trigger('change');
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="kecamatan"]').select2({
ajax: {
url: '{{ route("kecamatan.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
kabupaten_kota_id: $('[name="kabupaten_kota"]').val() // filter by selected kabupaten/kota
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (kecamatan) {
return { id: kecamatan.id, text: kecamatan.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih kecamatan',
minimumInputLength: 1,
}).change(function() {
$('[name="desa_kelurahan"]').empty().trigger('change');
});
$('[name="desa_kelurahan"]').select2({
ajax: {
url: '{{ route("desakelurahan.list") }}',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
kecamatan_id: $('[name="kecamatan"]').val() // filter by selected kecamatan
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.data.map(function (desaKelurahan) {
return { id: desaKelurahan.id, text: desaKelurahan.nama };
}),
pagination: {
more: data.current_page < data.last_page
}
};
},
cache: true
},
placeholder: 'Pilih desa/kelurahan',
minimumInputLength: 1,
});
});
</script>
@endpush