Ответов: 6 Просмотров: 1590
|
Уже запутался, и не могу понять как реализовать взаимосвязанные списки на ajax с использованием MVC
Вот как выглядят файлы:
controller_reg.php
PHP:
скопировать код в буфер обмена
function action_checkregion() { $country_id = $_REQUEST['country_id']; $responcess['success'] = 0; $data_region = $this->model->get_data_region($country_id); $responcess['success'] = $data_region; }
reg_view.php
PHP:
скопировать код в буфер обмена
<div class="form-group"> <label for="disabledSelect">Выбирите страну</label> <select name="country_id" id="country_id" class="form-control"> <option value="0">Страна</option> <?PHP foreach ($data['countries'] as $country['id'] => $country['country']){ echo "<option value=".$country['id'].">".$country['country']."</option>"; } ?> </select> </div> <div class="form-group"> <label for="disabledSelect">Выбирите регион</label> <select name="region_id" id="region_id" class="form-control"> <option value="0">Регион</option> </select> </div> <div class="form-group"> <label for="disabledSelect">Выбирите город</label> <select name="city_id" id="city_id" class="form-control"> <option>Город</option> </select> </div>
model_reg.php
PHP:
скопировать код в буфер обмена
public function get_data_region($country_id) { // $id_country = $_GET['country_id']; $reg_get_region = $this->db->query("SELECT * FROM `region` WHERE id_country='$country_id'"); while ($row_region = $reg_get_region->fetch_assoc()){ $regions[$row_region['id']] = $row_region['region']; } return $regions; // var_dump($regions); // die(); }
country.js
CODE ( javascript):
скопировать код в буфер обмена
$(document).ready(function () { $('#country_id').change(function() { var country_id = $(this).val(); if (country_id == '0') { $('#region_id').html('<option>Регион</option>'); $('#region_id').attr("disabled", "disabled"); $('#city_id').html('<option>Город</option>'); $('#city_id').attr("disabled", "disabled"); } else{ checkRegion($(this).val()); } }); }); function checkRegion(country_id) { //Вывод регионов $.ajax({ dataType: 'json', url: '/reg/checkregion/?country_id='+country_id, success: function (jsondata) { $('#region_id').each(function(){ '<option value="' + $(this).attr('id') + '">' + $(this).attr('region') + '</option>'; $('#city_id').attr('disable', 'disable'); }); } // console.log(jsondata.success); }); }
|