feat: final updates

This commit is contained in:
2026-08-22 11:11:28 -07:00
parent 618a3d4cd9
commit d4bb1b9414
43 changed files with 1136 additions and 375 deletions
+49 -6
View File
@@ -65,9 +65,18 @@
<div class="col-md-6">
<div class="form-group">
<label>استان</label>
<input type="text" name="province_id" class="form-control"
value="{{ old('province', $user->province) }}" placeholder="استان">
@error('province')
<select name="province_id" id="province_id" class="form-control">
<option value="">استان را انتخاب کنید</option>
@foreach($provinces as $province)
<option
value="{{ $province->id }}"
@selected(old('province_id', $user->province_id) == $province->id)
>
{{ $province->name }}
</option>
@endforeach
</select>
@error('province_id')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
@@ -75,9 +84,16 @@
<div class="col-md-6">
<div class="form-group">
<label>شهر</label>
<input type="text" name="city" class="form-control"
value="{{ old('city', $user->city) }}" placeholder="شهر">
@error('city')
<select name="city_id" id="city_id" class="form-control">
@if($user->city)
<option value="{{ $user->city->id }}" selected>
{{ $user->city->name }}
</option>
@else
<option value="">ابتدا استان را انتخاب کنید</option>
@endif
</select>
@error('city_id')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
@@ -115,4 +131,31 @@
</div>
</div>
<script>
document.getElementById('province_id').addEventListener('change', function () {
const provinceId = this.value;
const citySelect = document.getElementById('city_id');
citySelect.innerHTML = '<option value="">در حال بارگذاری...</option>';
if (!provinceId) {
citySelect.innerHTML = '<option value="">ابتدا استان را انتخاب کنید</option>';
return;
}
fetch(`{{ route('account.cities-by-province', ':province') }}`.replace(':province', provinceId))
.then(response => response.json())
.then(cities => {
citySelect.innerHTML = '<option value="">شهرستان خود را انتخاب کنید</option>';
cities.forEach(city => {
const option = document.createElement('option');
option.value = city.id;
option.textContent = city.name;
citySelect.appendChild(option);
});
});
});
</script>
@endsection