Сделать выпадающий список стран, областей, городов

Discussion in 'PHP' started by OSW, 3 Mar 2011.

  1. OSW

    OSW Elder - Старейшина

    Joined:
    12 Jul 2007
    Messages:
    325
    Likes Received:
    56
    Reputations:
    7
    Сабж: как сделать выпадающий список стран, областей и городов на аяксе?
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,194
    Reputations:
    252
    гугл крутая штука, ввел твой вопрос и получил кучу ссылок

    http://bigstreet.ru/blog/tag/ajax/
     
    1 person likes this.
  3. OSW

    OSW Elder - Старейшина

    Joined:
    12 Jul 2007
    Messages:
    325
    Likes Received:
    56
    Reputations:
    7
    Хм, и впрямь штука удобная)) Буду пользоваться.
     
  4. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    675
    Likes Received:
    128
    Reputations:
    4
    я делал так. тут только кусок кода . так как он везде одинаковый

    разметка html
    HTML:
    <th>Region</th>
            <td id="region">{$region}</td>
        </tr>
        <tr>
        	<th>Gemeinde</th>
            <td id="gemeine">{$gemeinde}</td>
        </tr>
        <tr>
        	<th>Siedlung</th>
            <td id="siedlung">{$siedlung}</td>
    <select id="gemeindeDropdown" name="gemeinde" size="1">
        {if $gemeinde_default eq "0"}
            <option value="0">gemeinde</option>
        {else}
             <option value="{$gemeinde_default}" selected='selected'>{$gemeinde_name}</option>
        {/if}
        {foreach from=$gemeinde key=myId item=i}
            <option value="{$i.id_gemeinde}">{$i.value}</option>
        {/foreach}
    </select>
    
    
    код php к которому напрявляем ajax запрос. тут фреймворк со встроенным smarty
    только тут на фреймворке но я думаю идею поймешь.

    PHP:
    public function processRequest() {
    хватаем post переменную
           $gemeinde 
    Request::processRequestVariable('gemeinde');
           
    $id Request::processRequestVariable('id');
            
    $connection Db ::  getInstance();
             
    выбираем регионы какие есть у этой страны допустим gemeinde допустим страна)
                
    $gemeinde_query "SELECT id_siedlung,siedlung from siedlung WHERE id_gemeinde= '".$gemeinde."';";
                
    $result $connection -> query($gemeinde_query);
                
    $num_rows mysql_num_rows($result);


               if (
    $num_rows == 0) {

                 
    $this->templateEngine->assign('siedlung'"no siedlung");

               }
                if (
    $num_rows 0)

                {             
    $i 0;
                            while (
    $row mysql_fetch_assoc($result)) {
                          
    $siedlung[] = array('id_siedlung' =>$row ["id_siedlung"],'value' => $row["siedlung"]);

                                               
    $i++;
                                   }

                    
    $this->templateEngine->assign('siedlung'$siedlung);
              }
    собственно сам ajax запрос . все на jquery
    Code:
    jQuery('#gemeindeDropdown').change(function(){
                var gemeinde = jQuery(this).val();
               //  var gemeinde =    document.getElementById('gemeindeDropdown');
    
                 if (gemeinde != null ){var gemeinde = document.reklama.gemeinde.value}
                       jQuery.post(
                             '/customer/siedlungEdit',
                           {gemeinde:gemeinde},
                           function(data){
    						   jQuery("#siedlung_div").remove();
    							
    						    jQuery("<tr id='siedlung_div'><th>Siedlung</th><td><div id='siedlung'></div></td></tr>").
    							insertAfter("#gemeinde_div");
    						  
    						   
    						   jQuery('#siedlung').html(data);});
    
                    } );
    и так 3 раза для страны области и для города.
     
    #4 barnaki, 5 Mar 2011
    Last edited: 5 Mar 2011
Loading...