У меня есть три варианта выпадающих данных, которые извлекают данные из базы данных, состояния и города. city select option
с использованием ajax для получения значения из базы данных на основе select in state
значение, все работает штраф на получение значения. state value
используют php function to populate
.Как сохранить значение параметров выпадающего списка после отправки формы
Проблема заключается в втором выборе варианта, который равен city option
, не сохраняя значения в строке выбора параметров после отправки формы. (в основном это сбрасывается). Вторая проблема после отправки формы: выбор options of city
не заполняется, вам нужно изменить другой option of state
, прежде чем вы сможете изменить его в списке городов.
Просматривает множество тем и ищет, но не может найти решение. я думаю, что значения должны оставаться после перезагрузки страницы, потому что я использовал localstorage для категорий и состояний и не имел проблем, даже у city option
есть свои значения внутри localstorage, только если он не отображает параметр внутреннего выбора после перезагрузки страницы.
function get_state(){
global $db;
$output = '';
$results = $db->query("SELECT * FROM region");
foreach($results as $state) {
$output .='<option value="'.$state["pk_i_id"].'">'.$state["s_name"].'</option>';
}
return $output;
}
<form method="GET">
<div class="container">
<div class="form-group">
<select name="categories" id="categories" class="btn-sm saveIt">
<option value=""></option>
<?=get_categories();?>
</select>
<select name="state" id="state" class="btn-sm saveIt">
<option value=""></option>
<?=get_state();?>
</select>
<select name="city" id="city" class="btn-sm saveIt">
<option value=""></option>
</select>
<button type="submit" id="go">Go</button>
</div>
</div>
</form>
Ajax скрипт
$(document).ready(function() {
function get_city(){
var stateID = $('#state').val();
$.ajax({
url: '/parsers/city_list.php',
type: 'POST',
data: {stateID : stateID},
success: function(data){
$('#city').html(data);
},
error: function() {
alert("Something went wrong with the city list.")
},
});
}
$('select[name="state"]').change(get_city);
});
И city_list.php для Ajax вызова
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/core/init.php';
$stateID = (int)$_POST['stateID'];
$cityQuery = $db->query("SELECT * FROM city WHERE fk_i_region_id = '$stateID' ");
ob_start();
?>
<option value="">Select City</option>
<?php while($city = mysqli_fetch_assoc($cityQuery)): ?>
<option value="<?=$city['pk_i_id'];?>"><?=$city['s_name'];?></option>
<?php endwhile; ?>
<?php echo ob_get_clean(); ?>
благодарственным заранее, если вам нужно некоторые детали я могу provide.Thank вас.
Эта ссылка для плагина jqry с localstorage. [jquery plugin] [1].
Дисплей перед отправкой формы был в порядке только после подачи формы city option
отображает значение вместо name of value
.
Вторые выпуски после отправки формы показывают только один вариант, его предполагается показать всю опцию, вам нужно сначала изменить city options
, затем отобразится все city list
.
вы знаете, что было отправлено на ваш php, так что сделайте всю эту серверную сторону, когда эти значения существуют – charlietfl
все нормально для отправки, только проблема показать на html имя значения после перезагрузки страницы. Поскольку я новичок в этом поле в основном проблема, возникающая из-за ajax или jquery. –