JQuery на странице AJAX - PullRequest
0 голосов
/ 14 мая 2011

Я читал вокруг и знаю, что по умолчанию jQuery в возвращенном html по умолчанию работает, но также читал, что установка dataType в реквизите ajax на «html» должна вычислять jQuery, однако это не кажетсяделать это.

<script type="text/javascript">
    $(document).ready(function(){
        $('.calendarsubmit').remove();
        $('select[name=typetest]').change(function(){
            var url = '/<?=$eventurlstart?>/'+escape(this.options[this.selectedIndex].value)+'/<?=$mnth?>/<?=$yr?>';
            location.href=url;
        });
        $('select[name=month]').change(function(){
            var url = '/<?=$eventurlstart?>/<?=$type?>/'+escape(this.options[this.selectedIndex].value)+'/<?=$yr?>';
            location.href=url;
        });
        $('select[name=year]').change(function(){
            var url = '/<?=$eventurlstart?>/<?=$type?>/<?=$mnth?>/'+escape(this.options[this.selectedIndex].value);
            location.href=url;
        });
    });
</script>

Это код, который загружается с HTML со страницы.Как мне это выполнить?

Спасибо.

РЕДАКТИРОВАТЬ:

Использование живых изменений, кажется, работает:

$('select[name=typetest]').live('change',function(){

Проблема, с которой я сейчас сталкиваюсь - это .remove (),С готовым документом или без него он не вызывается через Ajax.

РЕДАКТИРОВАТЬ 2:

Несмотря на то, что работает в реальном времени, следует больше ajax, мне нужно каждый раз обновлять эту функцию в реальном времениСтраница называется.

EDIT 3:

Я только что вызвал unbind перед воссозданием живой функции, которая прекрасно работает.Что касается функции удаления, мне пришлось добавить ее в конец моей страницы.Несмотря на то, что это было сразу после элемента, его вызывали слишком рано, поэтому элемент не был удален.Перемещение вниз сделало его удаляемым идеально.

Спасибо всем, кто помог мне с этим решением.

РЕДАКТИРОВАТЬ 4:

Это на самом деле не сработало.Не уверен, что случилось.В любом случае, в итоге я использовал живую функцию и заставил ее читать другие значения форм в jQuery, а не делать это через PHP.Все еще работает над проблемой удаления.

Ответы [ 2 ]

0 голосов
/ 14 мая 2011

Ну, $ (document) .ready не запускается до тех пор, пока HTML не будет полностью проанализирован, и к тому времени запрос AJAX закончится. Таким образом, он анализирует javascript, он просто ничего не делает, потому что событие, к которому он прикреплен, не запускается.

0 голосов
/ 14 мая 2011

Если он возвращается через Ajax, готовый документ уже сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...