Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > jquery и его datepicker + ajax запрос


Автор: ispolin08 6.10.2010, 06:38
http://jqueryui.com/demos/datepicker/

Доброго времени суток уважаемые Коллеги. 

Суть проблемы такова.. Подключаю datepicker все работает. Дальше мне нужно подключить его 
к элементу инпут который мне приходит в ответе аякс запроса. Суть дела такова. 

Я беру данные аякс ответа, и кладу их в $('#fff').html('data')

Дальше пытаюсь вызвать $('новый элемент').datepicker()

На что получаю ответ от том что нет такой функции..


другими словами говоря нужно как то произвести переинициализацию.

Подсобите пожалуйста, убиваюсь уже часа 4е, не могу понять суть. 


Спасибо

Автор: CruorVult 6.10.2010, 09:56
покажите код smile 

Автор: ispolin08 6.10.2010, 11:32
Код говорите smile НУ ок ) 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
            <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/jquery-ui.min.js" type="text/javascript"></script>
            <script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.1.js" type="text/javascript"></script>
            <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script>




далее

обычно работает вот так (в случае если без аякса)
<script language='javascript'>
$(function() {
    $( '#newtime0' ).datepicker();
    });



загрузка данных аяксом

function open_user (a)
{
    $("#userinfo_panel").html ("Загрузка информации для "+a);
    $("#userslist0").hide();
    $.get('./?act=5&uid='+a,
    function(data){
    $("#userinfo_panel").html (data);
         // ---- Календарь -----


    }
    );
}

после этого когда  в фаербаге пытаюсь сделать
 $( '#newtime0' ).datepicker(); - он мне говорит что такой функции нет

хотя селектор работает отлично.



Автор: blah 6.10.2010, 11:48
Datepicker должен инициализироваться в колбеке  вашего запроса.
Код

$.get('blablaurl', function(data) {
$('#fff').html(data);
$('новый элемент').datepicker();
});

Автор: CruorVult 6.10.2010, 12:07
Так?
 
Код

function open_user (a)
{
    $("#userinfo_panel").html ("Загрузка информации для "+a);
    $("#userslist0").hide();
    $.get('./?act=5&uid='+a,
    function(data){
    $("#userinfo_panel").html (data);
    $( '#newtime0' ).datepicker();
    }
    );
}

Автор: ispolin08 6.10.2010, 12:15
$("#newtime0").datepicker is not a function


в этом и трабл ) 

Автор: Egik2 6.10.2010, 13:04
Посмотри по этой ссылке, может какой-либо из советуемых вариантов и заработает:
http://stackoverflow.com/questions/1059107/why-does-jquery-uis-datepicker-break-with-a-dynamic-dom

Особенно обрати внимание на вариант с $().live, думаю должно помочь.

Автор: ispolin08 7.10.2010, 09:08
да все оказалось проще smile ошибка была на конкретной странице, поправил
и все сразу заработало.

Добавлено через 12 секунд
закрываем

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)