我想构建更新表单当我更改主要下拉菜单,然后更新第二个下拉列表 [英] I Want To Build Update Form When I Change Main Dropdown Menu Then update the second dropdown list

查看:139
本文介绍了我想构建更新表单当我更改主要下拉菜单,然后更新第二个下拉列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 < div> 
< label for =form-field-select-3>州:< / label>
< br />
< select class =selected-select form-controlid =Statename =Statedata-placeholder =Choose a State ...>
< option value =0> < / option>
<?php
$ query = $ this-> db-> query(select Address_State from ref_address_state where Address_State_ID ='$ property-> State_ID。
$ query = $ query-> row();
foreach($ Address_State as $ rows)
{
if($ rows ['Address_State'] == $ query-> Address_State)
{

echo< option value ='。$ rows ['Address_State_ID']。selected>。$ rows ['Address_State']。< / option&
}
else
{
echo< option value ='。$ rows ['Address_State_ID']。'>。$ rows ['Address_State'] 。< / option>;

}
}
?>
< / select>
< / div>
< div>
< label for =form-field-select-3>城市:< / label>
< br />
< select class =selected-select form-controlid =Cityname =Citydata-placeholder =Choose a City ...>
< option value =0> < / option>
<?php
$ query = $ this-> db-> query(select city_name from ref_city where city_id ='$ property-> City。
$ query = $ query-> row();
foreach($ city_name as $ rows)
{
if($ rows ['city_name'] == $ query-> city_name)
{

echo< option value ='。$ rows ['city_id']。selected>。$ rows ['city_name']。< / option&
}
else
{
echo< option value ='。$ rows ['city_id']。'>。$ rows ['city_name'] 。< / option>;

}
}
?>

< / select>
< / div>
< div>
< label for =form-field-select-3>局部性:< / label>
< br />
< select class =selected-select form-controlid =Localityname =Localitydata-placeholder =Choose a Location ...>
< option value =0> < / option>
<?php
$ query = $ this-> db-> query(select locality_name from ref_locality where locality_id ='$ property-> Locality。
$ query = $ query-> row();
foreach($ locality_name as $ rows)
{
if($ rows ['locality_name'] == $ query-> locality_name)
{

echo< option value ='。$ rows ['locality_id']。''selected>。$ rows ['locality_name']。< / option&
}
else
{
echo< option value ='。$ rows ['locality_id']。'>。$ rows ['locality_name'] 。< / option>;

}
}
?>
< / select>
< / div>
< / div>
< / div>
< / div>
< / div>


解决方案



http:/ /www.91weblessons.com/codeigniter-ajax-country-state-city-drop-down/



javascript:

 < script> 
function selectState(country_id)//更改国家/地区选择框
{
if(country_id!= - 1){
loadData('state',country_id)
$(#city_dropdown)。html(< option value =' - 1'>选择城市< / option>);
} else {
$(#state_dropdown)。html(< option value =' - 1'> Select state< / option>);
$(#city_dropdown)。html(< option value =' - 1'>选择城市< / option>);
}
}

function selectCity(state_id)//更改状态选择框
{
if(state_id!= - 1) {
loadData('city',state_id);
} else {
$(#city_dropdown)。html(< option value =' - 1'> Select city< / option>);
}
}


函数loadData(loadType,loadId){
var dataString ='loadType ='+ loadType +'& loadId =' + loadId;
$(#+ loadType +_ loader)。show();
$(#+ loadType +_ loader)。fadeIn(400).html('Please wait ...< img src =image / loading.gif/>');
$ .ajax({
type:POST,
url:loadData,
data:dataString,
cache:false,
success :function(result){
$(#+ loadType +_ loader)。hide();
$(#+ loadType +_ dropdown)。html(< option value = '-1'>选择+ loadType +< / option>);
$(#+ loadType +_ dropdown)append(result);
}
} );
}

< / script>

控制器:

 code><?php 

public function index()
{
$ this-> load-> model('model');
$ result ['list'] = $ this-> model-> getCountry();
$ this-> load-> view('top');
$ this-> load-> view('index',$ result);
$ this-> load-> view('footer');
}

public function loadData()
{
$ loadType = $ _ POST ['loadType'];
$ loadId = $ _ POST ['loadId'];

$ this-> load-> model('model');
$ result = $ this-> model-> getData($ loadType,$ loadId);
$ HTML =;

if($ result-> num_rows()> 0){
foreach($ result-> result()as $ list){
$ HTML。= < option value ='。$ list-> id。'>。$ list-> name。< / option>;
}
}
echo $ HTML;
}
?>

型号:

 code><?php 
function getCountry()
{
$ this-> db-> select('id,country_name');
$ this-> db-> from('country');
$ this-> db-> order_by('country_name','asc');
$ query = $ this-> db-> get();
return $ query;
}

函数getData($ loadType,$ loadId)
{
if($ loadType ==state){
$ fieldList =' id,state_name as name';
$ table ='state';
$ fieldName ='country_id';
$ orderByField ='state_name';
} else {
$ fieldList ='id,city_name as name';
$ table ='city';
$ fieldName ='state_id';
$ orderByField ='city_name';
}
$ this-> db-> select($ fieldList);
$ this-> db-> from($ table);
$ this-> db->其中($ fieldName,$ loadId);
$ this-> db-> order_by($ orderByField,'asc');
$ query = $ this-> db-> get();
return $ query;
}

?>


                     <div>
                        <label for="form-field-select-3">State : </label>
                        <br />
                        <select class="chosen-select form-control" id="State" name="State" data-placeholder="Choose a State...">
                            <option value="0"> </option>
                            <?php
                             $query=$this->db->query("select Address_State from ref_address_state  where Address_State_ID='".$property->State_ID."'");
                             $query=$query->row();   
                             foreach($Address_State as $rows)
                             {
                                if($rows['Address_State']==$query->Address_State)
                                   {

                                            echo "<option value='".$rows['Address_State_ID']."' selected>".$rows['Address_State']."</option>";                                                                    
                                  }
                            else
                                  {
                                           echo "<option value='".$rows['Address_State_ID']."'>".$rows['Address_State']."</option>";                                                                    

                                  }
                            }       
                             ?>
                        </select>
                    </div>
                     <div>
                        <label for="form-field-select-3">City : </label>
                        <br />
                        <select class="chosen-select form-control" id="City" name="City" data-placeholder="Choose a City...">
                            <option value="0">  </option>
                           <?php
                           $query=$this->db->query("select city_name from ref_city  where city_id='".$property->City."'");
                             $query=$query->row();   
                             foreach($city_name as $rows)
                             {
                                if($rows['city_name']==$query->city_name)
                                   {

                                     echo "<option value='".$rows['city_id']."' selected>".$rows['city_name']."</option>";                                                                    
                                    }
                                    else
                                    {
                                    echo "<option value='".$rows['city_id']."'>".$rows['city_name']."</option>";                                                                    

                                    }
                             }
                                  ?>

                        </select>
                    </div>
                    <div>
                        <label for="form-field-select-3">Locality : </label>
                        <br />
                        <select class="chosen-select form-control" id="Locality" name="Locality" data-placeholder="Choose a Location...">
                            <option value="0">  </option>
                               <?php
                             $query=$this->db->query("select locality_name from ref_locality  where locality_id='".$property->Locality."'");
                             $query=$query->row();   
                             foreach($locality_name as $rows)
                             {
                                if($rows['locality_name']==$query->locality_name)
                                   {

                                     echo "<option value='".$rows['locality_id']."' selected>".$rows['locality_name']."</option>";                                                                    
                                    }
                                    else
                                    {
                                    echo "<option value='".$rows['locality_id']."'>".$rows['locality_name']."</option>";                                                                    

                                    }
                             }
                                  ?>
                        </select>
                    </div>
                    </div>
                </div>
            </div>
    </div>

解决方案

I think u want something like this

http://www.91weblessons.com/codeigniter-ajax-country-state-city-drop-down/

javascript:

 <script>
    function selectState(country_id)//on change of country select box
    {
      if(country_id!="-1"){
        loadData('state',country_id);
        $("#city_dropdown").html("<option value='-1'>Select city</option>");
      }else{
        $("#state_dropdown").html("<option value='-1'>Select state</option>");
        $("#city_dropdown").html("<option value='-1'>Select city</option>");
      }
    }

    function selectCity(state_id)//on change of state select box
    {
      if(state_id!="-1"){
       loadData('city',state_id);
      }else{
       $("#city_dropdown").html("<option value='-1'>Select city</option>");
      }
    }


    function loadData(loadType,loadId){
      var dataString = 'loadType='+ loadType +'&loadId='+ loadId;
      $("#"+loadType+"_loader").show();
      $("#"+loadType+"_loader").fadeIn(400).html('Please wait... <img src="image/loading.gif" />');
      $.ajax({
        type: "POST",
        url: "loadData",
        data: dataString,
        cache: false,
        success: function(result){
          $("#"+loadType+"_loader").hide();
          $("#"+loadType+"_dropdown").html("<option value='-1'>Select "+loadType+"</option>");
          $("#"+loadType+"_dropdown").append(result);
        }
     });
    }

    </script>

controller:

<?php

    public function index()
    {
       $this->load->model('model');
       $result['list']=$this->model->getCountry();
       $this->load->view('top');
       $this->load->view('index',$result);
       $this->load->view('footer');
    }

     public function loadData()
     {
       $loadType=$_POST['loadType'];
       $loadId=$_POST['loadId'];

       $this->load->model('model');
       $result=$this->model->getData($loadType,$loadId);
       $HTML="";

       if($result->num_rows() > 0){
         foreach($result->result() as $list){
           $HTML.="<option value='".$list->id."'>".$list->name."</option>";
         }
       }
       echo $HTML;
     }
    ?>

model:

<?php
function getCountry()
{
   $this->db->select('id,country_name');
   $this->db->from('country');
   $this->db->order_by('country_name', 'asc');
   $query=$this->db->get();
   return $query;
}

function getData($loadType,$loadId)
{
   if($loadType=="state"){
    $fieldList='id,state_name as name';
    $table='state';
    $fieldName='country_id';
    $orderByField='state_name';
   }else{
    $fieldList='id,city_name as name';
    $table='city';
    $fieldName='state_id';
    $orderByField='city_name';
   }
   $this->db->select($fieldList);
   $this->db->from($table);
   $this->db->where($fieldName, $loadId);
   $this->db->order_by($orderByField, 'asc');
   $query=$this->db->get();
   return $query;
 }

?>

这篇关于我想构建更新表单当我更改主要下拉菜单,然后更新第二个下拉列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆