باسلام
استان و شهرستان رو ذخیره کردم، اما موقع ویرایش چطوری میتونم شهرستان انتخاب شده و ذخیره شده در دیتابیس رو نشون بدم ؟
کد ویو :
@section('script')
<script type="text/javascript">
$(document).ready(function () {
$('select[name="province"]').on('change', function () {
var provinceID = $(this).val();
if (provinceID) {
$.ajax({
url: '/panel/management/get-city-list/' + encodeURI(provinceID),
type: "GET",
dataType: "json",
success: function (data) {
$("city").empty();
$.each(data, function (key, value) {
$("city").append('<option value="' + value.id + '" {{ $user->province == $province->id ? 'selected' : '' }}>' + value.name + '</option>');
});
}
});
} else {
$("city").empty();
}
});
});
</script>
@stop
@section('content')
<div class="row">
<div class="col-xl-6">
<div class="form-group">
<label for="province">استان :</label>
<select name="province" id="province" class="form-control">
<option value="">استان خود را انتخاب نمایید</option>
@foreach ($provinces as $province)
<option
value="{{ $province->id }}" {{ $user->province == $province->id ? 'selected' : '' }}>{{ $province->name }}</option>
@endforeach
</select>
@error('province')
<div class="invalid-feedback"> {{ $message }}</div>
@enderror
</div>
</div>
<div class="col-xl-6">
<div class="form-group">
<label for="city">شهرستان :</label>
<select name="city" id="city" class="form-control">
<option value="">شهرستان خود را انتخاب نمایید</option>
</select>
@error('city')
<div class="invalid-feedback"> {{ $message }}</div>
@enderror
</div>
</div>
</div>
@stop
<div class="row">
<div class="col-xl-6">
<div class="form-group">
<label for="province">استان :</label>
<select name="province" id="province" class="form-control">
<option value="">استان خود را انتخاب نمایید</option>
@foreach ($provinces as $province)
<option value="{{ $province->id }}" {{ $user->province == $province->id ? 'selected' : '' }}>{{ $province->name }}</option>
@endforeach
</select>
@error('province')
<div class="invalid-feedback"> {{ $message }}</div>
@enderror
</div>
</div>
<div class="col-xl-6">
<div class="form-group">
<label for="city">شهرستان :</label>
<select name="city" id="city" class="form-control" data-old-id="{{$user->city->id}}">
<option value="">شهرستان خود را انتخاب نمایید</option>
</select>
@error('city')
<div class="invalid-feedback"> {{ $message }}</div>
@enderror
</div>
</div>
</div>
<script type="text/javascript">
function load_cities() {
let provinceID = $('#province').val();
if (provinceID === null) {
id = $('#province').eq(0).val();
}
if (provinceID) {
$.ajax({
url: '/panel/management/get-city-list/' + encodeURI(provinceID),
type: "GET",
dataType: "json",
success: function (data) {
$("#city").empty();
$.each(data, function (key, value) {
let selected = null;
if ($('#city').data('old-id') && value.id == $('#city').data('old-id')) {
selected = 'selected';
}
let optionTag = `<option value="` + value.id + `" ` + selected + `>` + value.name + `</option>`;
$('#city').append(optionTag);
});
}
});
} else {
$("city").empty();
}
}
</script>
تست نکردم، به این شکل ببینید اوکیه
سلام
این کد رو برای اسکریپتتون امتحان کنید:
@section('script')
<script type="text/javascript">
$(document).ready(function () {
load_cities({{$user->city}});
$('select[name="province"]').on('change', load_cities());
});
function load_cities(current_city=false) {
var provinceID = $('select[name="province"]').val();
if (provinceID) {
$.ajax({
url: '/panel/management/get-city-list/' + encodeURI(provinceID),
type: "GET",
dataType: "json",
success: function (data) {
$("city").empty();
$.each(data, function (key, value) {
if(current_cit !== false && value.id == current_city) {
$("city").append('<option value="' + value.id + '" selected >' + value.name + '</option>');
}else {
$("city").append('<option value="' + value.id + '" >' + value.name + '</option>');
}
});
}
});
} else {
$("city").empty();
}
}
</script>
@stop
شاید پاسخ شما همینجا باشد
<div class="col-md-12 col-xs-12">
<div class="row">
<div class="col-md-6 col-xs-12">
<div class="form-group has-feedback">
<label>استان:</label>
<select class="form-control states" name="state_id" required onchange="getCities(this)">
@foreach($states as $state)
<option value="{{$state->id}}" {{old('state_id') == $state->id ? 'selected' : ''}}>{{$state->name}}</option>
@endforeach
</select>
<span class="glyphicon glyphicon-pushpin form-control-feedback"></span>
</div>
</div>
<div class="col-md-6 col-xs-12">
<div class="form-group has-feedback">
<label>شهر:</label>
<select class="form-control cities" name="city_id" data-old-id="{{old('city_id')}}" required></select>
<span class="glyphicon glyphicon-pushpin form-control-feedback"></span>
</div>
</div>
</div>
</div>
getCities();
function getCities(tag = null) {
let id = $('.states').val();
if (id === null) {
id = $('.states').eq(0).val();
}
let url = '{{route('city')}}/' + id;
$.get(url, function (response) {
if (response.code) {
$('.cities').html('');
$.each(response.data, function (index, item) {
let selected = null;
if ($('.cities').data('old-id') && item.id == $('.cities').data('old-id')) {
selected = 'selected';
}
let optionTag = `<option value="` + item.id + `" ` + selected + `>` + item.name + `</option>`;
$('.cities').append(optionTag);
});
}
});
}
بررسی کنید ببینید به درد میخوره
تست کردم اوکی نشد
ممنون میشم اگه تغییراتی نیاز داره انجام بدید.
کد ویو :
<div class="row">
<div class="col-xl-6">
<div class="form-group">
<label for="province">استان :</label>
<select name="province" id="province" class="form-control">
<option value="">استان خود را انتخاب نمایید</option>
@foreach ($provinces as $province)
<option value="{{ $province->id }}" {{ $user->province == $province->id ? 'selected' : '' }}>{{ $province->name }}</option>
@endforeach
</select>
@error('province')
<div class="invalid-feedback"> {{ $message }}</div>
@enderror
</div>
</div>
<div class="col-xl-6">
<div class="form-group">
<label for="city">شهرستان :</label>
<select name="city" id="city" class="form-control">
<option value="">شهرستان خود را انتخاب نمایید</option>
</select>
@error('city')
<div class="invalid-feedback"> {{ $message }}</div>
@enderror
</div>
</div>
</div>
کد js :
<script type="text/javascript">
$(document).ready(function () {
load_cities({{$user->city}});
$('select[name="province"]').on('change', load_cities());
});
function load_cities(current_city=false) {
var provinceID = $('select[name="province"]').val();
if (provinceID) {
$.ajax({
url: '/panel/management/get-city-list/' + encodeURI(provinceID),
type: "GET",
dataType: "json",
success: function (data) {
$("#city").empty();
$.each(data, function (key, value) {
if(current_city !== false && value.id == current_city) {
$("#city").append('<option value="' + value.id + '" selected >' + value.name + '</option>');
}else {
$("#city").append('<option value="' + value.id + '" >' + value.name + '</option>');
}
});
}
});
} else {
$("city").empty();
}
}
</script>