tetris
tetris

Reputation: 4362

ck editor with jquery change event

i've setup a ck editor with two select input when i select each of this input they must fetch content in a db and add it to the ck editor, firebug shows ok the content gets back to the page but it is not shown in ck editor

<script>
$(function(){
    CKEDITOR.replace( 'quote', {
        toolbar : [
            [ 'Bold', 'Italic', 'Link', 'Unlink' ]
        ]
    });

    $("#lang, #item").change(function(){
        $.ajax({
            url: 'admin_ajax.php?action=header',
            data:"lang="+$("#lang").val()+"&item="+$("#item").val(),
            success: function(data) {
                // $('#quote').css({display:"block",visibility: "visible"}).html(data);
                $('#quote').html(data);
            }
        });
    });
});
</script>

<?php
    if(isset($_POST["submit_header"]) ) {
        mysql_query("update header_page set content='".$_POST["quote"]."' where lang_id='".$_POST["lang"]."' and item='".$_POST["item"]."' ") or die (mysql_error());
    }
?>
<form method="post">
    <select name="lang" id="lang" class="select">
        <?php $g=mysql_query("select * from lang");
            while($gr=mysql_fetch_array($g)){
        ?>
        <option value="<?php echo $gr["id"]; ?>"  <?php if($_POST["lang"]==$gr["id"]) echo 'selected'; ?>><?php echo $gr["name"]; ?></option>
        <?php  }  ?>
    </select>

    <select name="item" id="item" class="select">
        <?php $g=mysql_query("select distinct item from header_page");
        while($gr=mysql_fetch_array($g)){
        ?>
            <option value="<?php echo $gr["item"]; ?>"  <?php if($_POST["item"]==$gr["item"]) echo 'selected'; ?>><?php echo $gr["item"]; ?></option>
        <?php  }  ?>
    </select>

    <textarea class="ckeditor" name="quote" id="quote"></textarea>
    <input type="submit" value="Submit" name="submit_header" />
</form>

Upvotes: 1

Views: 1035

Answers (2)

Anil
Anil

Reputation: 21910

You could try:

CKEDITOR.instances.editor1.setData('value in here');

// change `editor1` to your editor Name.

You can also use getData to retrieve the value from CKeditor inside a AJAX call.

var text = CKEDITOR.instances.editor1.getData(); // var text now has the data

Upvotes: 3

Manuel van Rijn
Manuel van Rijn

Reputation: 10305

try using the jQuery CKEditor plugin. This give's you the option to set the .val() with jQuery to the textarea.

so you would have somehting like

$('#quote').val(data);

Upvotes: 1

Related Questions