ajax页面中的jquery

时间:2011-05-13 22:13:15

标签: jquery ajax

我一直在阅读并知道默认情况下默认情况下返回的html中的jQuery默认工作,但也读取将ajax requet中的dataType设置为“html”shoudl评估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跟随,我需要一种方法来在每次调用页面时更新该实时函数。

编辑3:

我刚刚在重新创建实时函数之前调用了unbind,这非常有用。至于删除功能,我不得不将它添加到我的页面末尾。即使它刚好在元素之后,它似乎太快被调用,因此元素没有被删除。向下移动使它完全被移除。

感谢所有帮助我了解此解决方案的人。

编辑4:

这实际上不起作用。不确定发生了什么。无论如何,我最终做的是使用live函数并让它在jQuery中读取其他表单值而不是通过PHP来实现。仍在处理删除问题。

2 个答案:

答案 0 :(得分:0)

如果通过Ajax返回,则文档就绪已经解雇。

答案 1 :(得分:0)

好吧,$(document).ready在HTML被完全解析之前不会触发,到那时AJAX请求结束了。所以它正在解析javascript,它只是没有做任何事情,因为它附加的事件没有触发。