Welcome Guest, Not a member yet? Register   Sign In
How can I convert this "get_cities.php?country='+country" to CI way?
#4

[eluser]shinokada[/eluser]
Ok, I have the following controller and view.

Code:
class PhpJqueryBook extends Controller
{
    
    function __construct()
    {
        parent::Controller();
    }
    
    public function index()
    {
    }
    
    function dynamic_select_boxes(){
        
        $this->load->view('dynamic_select_boxes');
        
    }
    
    function get_cities(){
        
        switch(@$_POST['country']){
            case 'ie': // { ireland
                $cities=array('Cork', 'Dublin', 'Galway', 'Limerick',
                  'Waterford');
            break;
            // }
            case 'uk': // { United Kingdom
                $cities=array('Bath', 'Birmingham', 'Bradford',
                    'Brighton & Hove', 'Bristol',
                    'Cambridge', 'Canterbury', 'Carlisle',
                    'Chester', 'Chichester', 'Coventry',
                    'Derby', 'Durham', 'Ely', 'Exeter',
                    'Gloucester', 'Hereford', 'Kingston upon Hull',
                    /* and on and on! */
                    'Newport', 'St David\'s', 'Swansea');
            break;
            // }
            default: // { else
                $cities=false;
            // }
        }
        if(!$cities)echo 'please choose a country first';
        else echo '<select name="city"><option>'.join('</option><option>',$cities).'</select>';
    }
}

views/dynamic_select_boxes.php

Code:
&lt;?php $this->load->view('inc/header')?&gt;
        
        &lt;form&gt;
            <table>
                <tr><th>Country</th><td>
                    <select name="country" id="country">
                        <option value=""> -- please choose -- </option>
                        <option value="ie">Ireland</option>
                        <option value="uk">Great Britain</option>
                    </select>
                </tr>
                <tr>
                    <th>Cities</th>
                    <td id="cities">please choose a country first</td>
                </tr>
            </table>

&lt;?php $this->load->view('inc/footer')?&gt;

And this produces the following html.

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
&lt;html &gt;
&lt;head&gt;
&lt;base href="http://127.0.0.1/ci_jquery/"&gt;

&lt;/head&gt;
&lt;body&gt;    
    &lt;form&gt;
    <table>
    <tr><th>Country</th><td>
    <select name="country" id="country">
    <option value=""> -- please choose -- </option>
    <option value="ie">Ireland</option>
    <option value="uk">Great Britain</option>
    </select>
    </tr>
    <tr>
    <th>Cities</th>
    <td id="cities">please choose a country first</td>
    </tr>
    </table>

[script tag here]link to google jquery[script tag here]
[script tag here]
    $(document).ready(setup_country_change);
    function setup_country_change(){
    $('#country').change(update_cities);
    }
    function update_cities(){
    var country=$('#country').attr('value');
    $.get('phpjquerybook/get_cities/'+country, show_cities);
    }
    function show_cities(res){
    $('#cities').html(res);
    }
[script tag here]
&lt;/body&gt;
&lt;/html&gt;

This does not work. Can anyone point out what I am doing wrong please?


Messages In This Thread
How can I convert this "get_cities.php?country='+country" to CI way? - by El Forum - 01-08-2010, 01:18 AM



Theme © iAndrew 2016 - Forum software by © MyBB