Hi, I am programming some code with nested select with mootools. You know, a
select that call other select, and these select call to other select, etc.

My code have a lot of nested level of select (four or five). I made a
example with two levels[see 1], but it is hardcode. The example for 5 levels
is a crazyness.
I need make a generic call with mootools for nested select. How to make with
mootools? [You can see the php and js code below]

[1] http://www.apogeus.es/ao/nestedsel.php

<?
$see = isset($_REQUEST['see'])?$_REQUEST['see']:0;
if($see)
{
    $l = isset($_REQUEST['l'])?$_REQUEST['l']:0;
    $c = isset($_REQUEST['c'])?$_REQUEST['c']:0;

    if(empty($c))
    {
        switch($l)
        {
            case '1': # Letter A
                echo '
                    <select id="color">
                        <option value="00" selected="selected">Choose
color</option>
                        <option value="01">Aqua</option>
                        <option value="02">Aquamarine</option>
                        <option value="03">Amber</option>
                    </select>';
            break;
            case '2': # Letter B
                echo '
                    <select id="color">
                        <option value="00" selected="selected">Choose
color</option>
                        <option value="01">Beige</option>
                        <option value="02">Black</option>
                        <option value="03">Blue</option>
                    </select>';
            break;
        }
    }
    else
    {
        switch($l)
        {
            case '1': # Letter A
                switch($c)
                {
                    case '01': # Aqua
                        echo 'Show cool img of color Aqua';
                    break;
                    case '02': # Aquamarine
                        echo 'Show cool img of color Aquamarine';
                    break;
                    case '03': # Amber
                        echo 'Show cool img of color Amber';
                    break;
                }
            break;
            case '2': # # Letter B
                switch($c)
                {
                    case '01': # Beige
                        echo 'Show cool img of color Beige';
                    break;
                    case '02': # Black
                        echo 'Show cool img of color Black';
                    break;
                    case '03': # Blue
                        echo 'Show cool img of color Blue';
                    break;
                }
            break;
        }
    }
}
else
{
?>
<html>
<head>
    <script type="text/javascript" src="js/mt123.js"/></script>
    <script type="text/javascript" />
        window.addEvent('domready',function()
        {
            $('letter').addEvent('change',function(ev)
            {
                ev.stop()
                console.log("letter select load")
                $('scolor').empty();
                $('coolmsg').empty();

                new Request.HTML(
                {
                    url: 'nestedsel.php',

data:{see:1,l:$('letter').options[$('letter').options.selectedIndex].get('value')},
                    evalScripts:true,evalResponse:true,
                    onSuccess: function(html)
                    {
                        $('scolor').empty();
                        $('scolor').adopt(html);
                        $('color').addEvent('change',function(ev)
                        {
                            ev.stop()
                            console.log("color select load")

                            new Request.HTML(
                            {
                                url: 'nestedsel.php',
                                data:
                                {
                                    see:1,

l:$('letter').options[$('letter').options.selectedIndex].get('value'),

c:$('color').options[$('color').options.selectedIndex].get('value')
                                },
                                evalScripts:true,evalResponse:true,
                                onSuccess: function(html)
                                {
                                    $('coolmsg').empty();
                                    $('coolmsg').adopt(html);
                                }
                            }).send()
                        })
                    }
                }).send()
            })
        })
    </script>
</head>
<body>
    <select id="letter">
        <option selected="selected" value="0">Choose letter</option>
        <option value="1">Letter A</option>
        <option value="2">Letter B</option>
    </select>
    <div id="scolor"></div>
    <div id="coolmsg"></div>
</body>
</html>
<? } ?>
-- 
Blog: www.shakaran.es

Reply via email to