首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据下拉菜单中选定的项而变化的文本区域

根据下拉菜单中选定的项而变化的文本区域
EN

Stack Overflow用户
提问于 2013-10-15 11:08:40
回答 3查看 1.2K关注 0票数 0

解决了。你可以关闭.

我有一个下拉菜单和一个文本区域,根据下拉菜单中选择的项目(动态),在其中输入一个不同的书写方式。

我的html-php代码如下:

代码语言:javascript
复制
<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);


                $.ajax({ type: "GET", url: "copyrights.xml", dataType: "xml", success: function(xml) {

                    $(xml).find('copyright').each(function() {

                      var copyright_title_selected = $("#copyright_titles option:selected").text();
                      var title = $(this).find('title').text();
                      var text = $(this).find('text').text();

                      if (title === copyright_title_selected) {
                          $('#copyright_text').text(text);
                      }

                    });
                  },
                  error: function(request, error, tipo_errore) { alert(error+': '+ tipo_errore); }
                });


                $('#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" style="display:none"></textarea>
                    </td>
            </tr>
        </table>
    </form>

</body>

这些文本摘自这个xml文件:

代码语言:javascript
复制
<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>

EN

回答 3

Stack Overflow用户

发布于 2013-10-15 11:35:34

演示

根据我们的代码HTML来改变选择列表:

代码语言:javascript
复制
<select id="selectMe">
   <option value=""></option>
    <option value="option1">option1</option>
    <option value="option2">option2</option>
</select>
<br><br><br>

<textarea name="copyright_text" id="copyright_text" cols="20" rows="7">

</textarea>

联署材料:

代码语言:javascript
复制
$(document).ready(function () {

    $('#selectMe').change(function () {

        $('#copyright_text').html($( "#selectMe option:selected" ).text());

    })
});
票数 2
EN

Stack Overflow用户

发布于 2013-10-15 11:15:28

代码语言:javascript
复制
   <select name="copyright_titles" id='copyright_titles'>
                            <?php
                                $xml = simplexml_load_file('copyrights.xml');
                                $i = 0;
                                foreach($xml->copyright as $copyright)
                                {
                                    $i++;
                                    echo '<option value=".$copyright->text.">'.$copyright->title.'</option>';
                                }
                            ?>
                        </select>

//jquery函数

代码语言:javascript
复制
$('#copyright_titles').change(function() { $('#copyright_text').attr('val',$('#copyright_titles').val()); });
票数 0
EN

Stack Overflow用户

发布于 2013-10-15 11:15:37

最好使用SELECT方法来填充jQuery.Get()列表客户端,而不是使用jQuery.Get()服务器端。您可以异步加载XML文件,并创建一个事件处理程序,以便在TEXTAREA更改时更新SELECT值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19379715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档