Area di testo che varia in base al voce selezionata nel menù

di il
1 risposte

Area di testo che varia in base al voce selezionata nel menù

Ho un menu a tendina e una area di testo nella quale devo inserire una scritta diversa, a seconda della voce che viene selezionata nel menù a tendina (quindi una cosa "dinamica").

Rimangono solo 2 piccoli particolari da risolvere nel javascript:
1) quando lancio per la prima volta, l'area di testo compare (non dovrebbe esserci e infatti se seleziono la prima voce scompare, ma al primo lancio la visualizzo);
2) adesso al posto di farmi ri-stampare le voci nel menù, devo stampare i corrispondenti testi dei copyright, leggendoli dal file xml....


Al momento il codice che ho è questo:
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="jquery-2.0.3.js"></script>
        <script type="text/javascript">
        $(document).ready(function () {
            $('#copyright_titles').change(function () {
                var isFirstSelected = $("#copyright_titles option:first-child" ).is(':selected');
                var isLastSelected = $("#copyright_titles option:last-child" ).is(':selected');

                if(isFirstSelected){
                     $('#copyright_text').hide();
                     return;
                }

                $('#copyright_text').attr("readonly",isLastSelected?false:true);
                $('#copyright_text').val($("#copyright_titles option:selected" ).text());
                $('#copyright_text').show();
            });
        });
        </script>
    </head>
    <body>
        
        <form name="test" action="test.php" method="post">
            <table>
                <tr>
                        <td>Copyright:</td>
                        <td>
                            <select id='copyright_titles'>
                                <?php
                                    $xml = simplexml_load_file('copyrights.xml');
                                    $i = 0;
                                    foreach($xml->copyright as $copyright)
                                    {
                                        $i++;
                                        echo '<option value="copyright'.$i.'">'.$copyright->title.'</option>';
                                    }
                                ?>
                            </select>
                        </td>
                </tr>
                <tr>
                        <td></td><td>
                            <textarea id='copyright_text' rows="6" cols="65"></textarea>
                        </td>
                </tr>
            </table>
        </form>
        
    </body>
</html>



P.S. sia le voci del menù, che la scritta da mettere nell'area di testo, le prendo da un file xml di questo genere:

<copyrights>
    <copyright>
        <title>free</title>
        <text></text>
    </copyright>
    <copyright>
        <title>copyright1</title>
        <text>text1</text>
    </copyright>
    <copyright>
        <title>copyright2</title>
        <text>text2</text>
    </copyright>
    <copyright>
        <title>copyright3</title>
        <text>text3</text>
    </copyright>
    <copyright>
        <title>other</title>
        <text></text>
    </copyright>
</copyrights>

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte