Я получаю данные из базы данных на странице редактирования.
Я использую CodeIgniter, у меня есть две страницы просмотра, register
и edit_register
.
У меня нет проблем на странице register
, но я делюсь процессом, чтобы понять мою проблему. На этой странице также работает зависимость страны, штата, города. Я имею в виду, что я выбрал «Индия», тогда в раскрывающемся списке будет отображаться название всего штата. Теперь я выбираю «Махараштра», затем я выбираю «Мумбаи». Работает отлично.
Я отправил форму и в базе данных получаю значение типа
Country_name | state_name | city
101 | 22 | 2707
--------------------------------------
101-India
22-Maharashtra
2707-Mumbai
Давайте поговорим о edit_register
странице.
Теперь я на странице edit_register
, я выбираю название страны в раскрывающемся списке. Я получаю правильный вывод "Индия", но не получаю название штата и города.
Итак, моя проблема в том, как отобразить название штата и города из базы данных?
Пожалуйста, отметьте это, когда я нажимаю кнопку редактирования, тогда я получаю только название страны, но название штата не отображается.
![enter image description here](https://i.stack.imgur.com/Egbgq.png)
Если я выберу другую страну и снова выберу Индию, тогда в раскрывающемся списке я получу название штата.
Контроллер
Отображается моя страница редактирования с названием страны в раскрывающемся списке
public function search_with_number(){
$c_mobileno=$this->input->post('c_mobileno_search');
$got_customer_info['search_customer_info']=$this->Customer_model->get_customer_info($c_mobileno);
$got_customer_info['get_country']=$this->Customer_model->get_country();// all country name
$this->load->view('customer/search_order',$got_customer_info);
}
Страна раскрывающегося списка Работает.
<select class="form_control country_change" name="c_s_country" data-target="target_state_dropdown2">
<option value="" disabled selected>Select Country</option>
<?php foreach ($get_country as $row) {?>
<option <?php if($row->id == $post->c_s_country ){ echo 'selected="selected"'; } ?> value="<?php echo $row->id; ?>"><?php echo $row->country_name;?></option>
<?php }?>
</select>
Состояние раскрывающегося списка Не работает
<select class="form_control state_get" name="c_s_state" id="target_state_dropdown2" data-target="city_dropdown2">
<option value='' disabled selected>Select state</option>
<!--What code I have to user here-->
</select>
Город Не работает
<select class="form_control city_get" name="c_s_city" id="city_dropdown2">
<option value="" disabled selected>Select city </option>
<!--What code I have to user here-->
</select>
Ajax, который я использую на странице регистрации
/*Get all the state name using country code*/
$(".country_change").on('change',function(){
var country_id=$(this).val();
var select_list = $(this).data('target'); // The dropdown ID
$.ajax({
url:baseUrl +"/Customer_control/statename",
method:"POST",
data:"country_id="+country_id,
dataType: "json",
success:function(data){
$('#'+select_list).empty();
var placeholder="<option value='' disabled selected>Select state</option>";
$('#'+select_list).html(placeholder);
$.each(data, function(i, data) {
$('#'+select_list).append("<option value='" + data.id + "'>" + data.state_name + "</option>");
});
}
});
});
/*Get all the city name using state code*/
$(".state_get").on('change',function(){
var state_id=$(this).val();
var select_list = $(this).data('target'); // The dropdown ID
$.ajax({
url:baseUrl +"/Customer_control/cityname",
method:"POST",
data:"state_id="+state_id,
dataType: "json",
success:function(data){
$('#'+select_list).empty();
var placeholder="<option value='' disabled selected>Select city</option><option value='Other'>Other</option>";
$('#'+select_list).html(placeholder);
$.each(data, function(i, data) {
$('#'+select_list).append("<option value='" + data.id + "'>" + data.cities_name + "</option>");
});
}
});
});
Состояние модели
public function get_country()
{
$get_country = array('is_country_active' => 1);
$this->db->where($get_country);
$query = $this->db->get('countries');
$result = $query->result();
if($result)
{
return $result;
}
else
{
return 0;
}
}
public function get_state($country_id){
$get_state = array('is_state_active' => 1,'country_id'=>$country_id);
$this->db->where($get_state);
$query = $this->db->get('states');
$result = $query->result();
if($result)
{
return $result;
}
else
{
return 0;
}
}
public function get_city($state_id){
$get_city = array('is_city_active' => 1,'state_id'=>$state_id);
$this->db->where($get_city);
$query = $this->db->get('cities');
$result = $query->result();
if($result)
{
return $result;
}
else
{
return 0;
}
}
Я не добавил город JS.
Теперь, пожалуйста, проверьте мой Ajax-код. Название моего штата меняется, когда я выбираю название страны. Я должен отобразить состояние и название города по нагрузке из базы данных