Цитата:
|
Что-то не работает.
...function(data) { var sret = $(data); $('h2', sret).appendTo('#dh2'); $('#ajaxload').stop().fadeOut(500); // $(sret).appendTo('#ajaxcontent'); $('#ajaxcontent').stop().fadeIn(500);}... Ровным счетом ничего не происходит. Во-вторых, appendTo добавляет данные, к уже имеющимся, а мне нужно замещать. Смотрел по доккументации функцию replaceAll но она не произвдит никаких видимых изменений. |
А полностью код обработчика покажите? И то что в data ajax-ом возвращается?
По поводу замещения.. сначала почистите содержимое, а затем вставьте нужное. |
function loadform(a) {$.ajax({url:a['href'],beforeSend:function(){opendlg();$('#ajaxload').fadeIn(500);$('#ajaxcontent').hide();},success: function(data) { var sret = $(data); $('h2', sret).appendTo('#dh2'); $('#ajaxload').stop().fadeOut(500); $(sret).appendTo('#ajaxcontent'); $('#ajaxcontent').stop().fadeIn(500);}})} <div class="popup" id="dialog" style="display:none; z-index:10000"> <div id="dh2"> </div> <div id="ajaxload"> <div style="text-align:center"> <?= image('ajaxload') ?> <br clear="all" /><br clear="all" /> <h3>Пожалуйста подождите, идет обработка данных........</h3> </div> </div> <div id="ajaxcontent"> </div> </div> А возвращаем мы, к примеру, это <h2>create tags</h2> <script type="text/javascript"> $().ready(function() { // validate signup form on keyup and submit $("#tag").validate({ submitHandler: function(){formgears('#tag');}}); }) </script> <form action="<?= part_url('edt/savetags.htm') ?>" method="POST" id="tag"> <div class="field"> <?= form_labelinput('title', $title , 'tag_title') ?> </div>.... Кстати, $(sret).appendTo('#ajaxcontent');Работает. но $('h2', sret).appendTo('#dh2');НЕТ. Пробовал вставлять все, потом вырезать - так работает, но как-то некрасиво. |
Странно.
$('.field', sret).appendTo('#dh2');работает. Если весь кусок возвращаемого кода "обернуть" в div тогда все нормально. Почему так? <div> <h2>create tags</h2> <script type="text/javascript"> $().ready(function() { // validate signup form on keyup and submit $("#tag").validate({ submitHandler: function(){formgears('#tag');}}); }) </script> <form action="<?= part_url('edt/savetags.htm') ?>" method="POST" id="tag"> <div class="field"> <?= form_labelinput('title', $title , 'tag_title') ?> </div> <div class="field"> <?= form_labelinput('tag', $tag, 'tag_tag') ?> <div class="notice"><?= lang('tag_not_required') ?></div> </div> <h4><?= lang('tag_descrypt') ?></h4> <div class="field"> <textarea name="descr" rows="4" cols="20" id="descr"><?= $descrbb ?></textarea> </div> <h4><?= lang('acces_permission') ?></h4> <div class="field"> <?= lang('user_group', 'usergroup'); ?> <?= form_dropdown('usergroup', $usergroup, $permission, 'id="usergroup"') ?> </div> <div class="right field"> <?= form_hidden('id', $id) ?> <?= form_hidden('oldtag', $oldtag) ?> <?= form_hidden('oldtitle', $oldtitle) ?> <?= $this->gears->submit('create') ?> </div> </form> <script type="text/javascript"> SMarkUp.bind( 'descr', //textarea id 'bbcode', //makup configuration name 120 //height of textarea ); </script> </div> |
Потому что используя
Цитата:
Используйте $(sret).filter('h2'); |
Кстати,
function(sr) { data = $(sr); $('#dh2').empty(); $('#ajaxcontent').empty(); $('#dlgfooter').empty(); $(data).filter('h2').appendTo('#dh2'); $(data).filter('.sitefooter').appendTo('#dlgfooter'); $('#ajaxload').stop().fadeOut(500); $(data).appendTo('#ajaxcontent'); $('#ajaxcontent').stop().fadeIn(500);}})}тоже не работает. |
Часовой пояс GMT +3, время: 03:13. |