【问题标题】:jQuery for the dropdown change event does not populate textarea用于下拉更改事件的 jQuery 不填充 textarea
【发布时间】:2012-11-13 05:51:21
【问题描述】:

我想问一下是否有人可以帮助我。

我有一个带有下拉列表的表单。我的问题是我使用 TinyMCE 作为编辑器。

当我在下拉列表中选择一个项目时,它不会填充 TinyMCE 文本区域,但另一个文本区域由 jQuery 打开。

这是我的代码,任何人都可以帮助我修复,以便下拉的结果将显示在 TinyMCE 编辑器上。

非常感谢。

<html>
    <head>

        <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script><br />
        <script type="text/javascript">
            $(document).ready(function () {
                $('#select').change(function () {
                    var option = $(this).val();
                    $.get('select.php', {select: option}, function (data) {
                        $('#result').html(data).hide().fadeIn(1);
                    });
                });
            });
        </script>

        <script type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
        <script type="text/javascript">
            tinyMCE.init({mode: "textareas", editor_selector: "mceEditor"});

            $(document).ready(function () {
                $('form').submit(function ()
                {

                    alert(tinyMCE.get('result').getContent());

                });
            });

        </script>

    </head>

    <select name="select" id="select">
        <option value="">Select</option>
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3">Option 3</option>
        <option value="option4">Option 4</option>
        <option value="option5">Option 5</option>
    </select>

    <form id="ajax-form" class="autosubmit" method="POST" action="">
        <textarea class="mceEditor" id="result" name="notes"/></textarea>
        <input type="submit">
    </form>

这是我获取数据的 PHP:

<?php

if($_GET['select'] == 'option1') {
    echo 'the option you have chosen is 1';
} elseif($_GET['select'] == 'option2') {
    echo 'the option you have chosen is 2';
} elseif($_GET['select'] == 'option3') {
    echo 'the option you have chosen is 3';
} elseif($_GET['select'] == 'option4') {
    echo 'the option you have chosen is 4';
} elseif($_GET['select'] == 'option5') {
    echo 'the option you have chosen is 5';
}

?>

【问题讨论】:

  • 使用 tinyMCE 的setContent 函数。 tinyMCE.activeEditor.setContent(your_content);.
  • @Shahid 你能帮我编辑我的代码或示例吗谢谢。
  • 而不是select.php in $.get 写你的php文件的完整URL。使用{'select':option} 而不是{select:option}。我不知道$('#result').html(data).hide().fadeIn(1); 的用途,但你可以使用tinyMCE.activeEditor.setContent(your_content);
  • @shahid,你的建议有效,但我不能给你信用,因为你给出的答案是 cmets。抱歉,您的建议效果很好。谢谢朋友。

标签: jquery ajax tinymce


【解决方案1】:

而不是$('#result').html(data).hide().fadeIn(1);(为什么在这里叫hide?)

使用

tinymce.get('result').setContent(data);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 2011-05-25
    • 2011-08-18
    相关资源
    最近更新 更多