2013-01-29 3 views
1

У меня динамически генерируется link list из таблицы MySQL для TinyMCE. Это работает нормально, показывая все ссылки в таблице. Теперь я пытаюсь передать значение через AJAX в файл PHP, который генерирует список ссылок, чтобы сузить запрос, основанный на субдисциплины:JQuery Ajax TinyMCE

<script type="text/javascript"> 
$(document).ready(function() { 

$("#sub_discipline").change(function(){ 
    $.ajax({ 
     url: "../scripts/tiny_mce/lists/link_list.js.php", 
     type: "post", 
     data: { 
sub_discipline : $('#sub_discipline').val() 
}, 
     success: function(data){ 

     } 
    }); 

}); 
} 
); 
</script> 

Проблема в том, что список ссылок теперь не показывает в TinyMCE, вероятно, потому, что значение не передается. Я могу получить результаты с ссылкой link_list.js.php, передающей значение в строке URL, так что происходит что-то еще. Вышеуказанный вызов ajax неверен, или TinyMCE загружает список ссылок при загрузке редактора, после чего список не может быть обновлен.

FYI, в случае, если это может помочь другим, link_list.js.php, который работает просто отлично создание списка ссылок для TinyMCE:

<?php Header("content-type: application/x-javascript"); ?> 

<?php 
require_once('../../../connection/connect.php'); 
mysql_select_db($database, $connection); 

$sub_discipline = $_POST['sub_discipline']; 

$query = "SELECT link_title, url FROM link WHERE sub_discipline_fk = '$sub_discipline'"; 
$result = mysql_query($query, $connection) or die(mysql_error()); 

$links = array(); 

while($row = mysql_fetch_assoc($result)){ 
    $links[$row['link_title']] = $row['url']; 

} 



$o = null; 
$count = count($links); 

$i = 1; 
foreach($links as $text => $url){ 
    $o .= sprintf(('["%1$s", "%2$s"]'), 

    $text, 
    $url 

    ); 

    if($i < $count) 
    $o .= ','; 
    $i++; 
} 

?> 

var tinyMCELinkList = new Array(

<?php echo $o; ?> 

); 

список Ссылки добавляются в качестве опции в tinyMCE.init:

<script type="text/javascript"> 
tinyMCE.init({ 
     // General options 
     mode : "textareas", 
     theme : "advanced", 
     plugins : "autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template", 

     // Theme options 
     theme_advanced_buttons1 : "print,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,formatselect,fontsizeselect,|,forecolor,backcolor", 
     theme_advanced_buttons2 : "cut,copy,paste,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,preview,|,fullscreen", 
     theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,|,sub,sup,|,charmap,emotions,iespell,media,|,ltr,rtl", 
     theme_advanced_toolbar_location : "top", 
     theme_advanced_toolbar_align : "left", 
     theme_advanced_statusbar_location : "bottom", 
     theme_advanced_resizing : true, 

     // Skin options 
     skin : "o2k7", 
     skin_variant : "silver", 


     // Drop lists for link/image/media/template dialogs 
     external_link_list_url : "../scripts/tiny_mce/lists/link_list.js.php", 
     external_image_list_url : "js/image_list.js", 
     media_external_list_url : "js/media_list.js", 

}); 
</script> 
+0

как вы пытаетесь получить список ссылок в tinymce? – Thariama

+0

См. Edit ... tinyMCE.init config – IlludiumPu36

+0

hmm, хорошо выглядит – Thariama

ответ

1

Если я понимание вашей квестования правильно, вы не получаете никаких данных на POST от TinyMCE, когда он работает в режиме TEXTAREA ...

попробуйте добавить tinyMCE.trigge rSave();

$("#sub_discipline").change(function(){ 
     tinyMCE.triggerSave(); 
$.ajax({ 
+0

Спасибо, но сохранение содержимого экземпляра TinyMCE не является проблемой. Проблема заключается в том, чтобы обновлять список внешних ссылок, когда я передаю значение скрипту php, который генерирует список. Возможно, что вызов ajax неверен или TinyMCE загружает список ссылок в init, и он не может быть обновлен. Не уверен, что. PHP-скрипт, который генерирует список, не имеет проблемы, если я просто передаю значение в url вручную ... – IlludiumPu36

+0

вы только что спасли мою жизнь, спасибо – Teodor

Смежные вопросы