Делаю связные списки в opencart
view
<script>
$(document). ready(function () {
$("#country").change(function () {
var countryval = parseInt( $("#country").val() );
//console.log(countryval);
selectRegion(countryval);
})
})
function selectRegion(countryval) {
var region = $("#region");
if (countryval > 0){
$("#divregion").fadeIn("slow");
region.attr("disabled", false);
region.load(
"/catalog/controller/account/order.php",
{countryval : countryval}
);
}
}
</script>
<form action="/catalog/controller/account/order.php" method="post">
<legend>Адрес доставки</legend>
<!-- Text input-->
<div class="form-group">
<label class="col-sm-2 control-label" for="textinput">Область</label>
<div class="col-sm-10">
<select name="country" id="country">
<option value="0">- Выберите область -</option>
<?php foreach ($regions as $region){ ?>
<option value="<?php echo $region['id']?>"><?php echo $region['name']?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="textinput">Город</label>
<div class="col-sm-10" id="divregion">
<select disabled id="region" name="region" >
<option value="">- Выберите город -</option>
<?php foreach ($oll_city as $city){ ?>
<option value="<?php echo $city['id']?>">
<?php echo $city['name']?></option> <?php } ?>
</select>
</div>
</div>
</form>
controller
$sq = $this->request->post['countryval'];
print_r($sq);
Пытаюсь получить значения которое пришло на сервер, выдает ошибку Notice: Undefined index: countryval
Подскажите может я неправильно указал пути для передачи данных.
Как правильно сделать ? передавать данные сразу в модель и там осуществлять запрос к базе или в контролер.
model
public function getRegion(){
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "region");
return $query->rows;
}
1.Ваша форма не передаёт постом поле countryval, его там нет. Она передаёт ключ country со значением $region['id']. 2.Дёргать модель напрямую не надо, вы нарушите модель MVC. Код начнёт попахивать. И в дальнейшем производить правки будет сложно + могут возникать зависимости, которых вы никак не ожидаете. Трогайте модель через контроллер той вьюхи, где вам всё это надо выводить.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости