Jquery 选择不显示的选项

Jquery 选择不显示的选项,jquery,html,ajax,Jquery,Html,Ajax,我正在创建一个通过AJAX和hashchange jquery脚本动态更改和替换页面内容的应用程序。由于某些原因,在动态更改的AJAX内容中,没有显示select form选项。示例如下: 但是,如果我运行页面,而不通过AJAX加载/更改内容,请删除URL中的标记,select form元素将按原样工作 这简直要了我的命!!!请帮忙。以前从未遇到过这样的问题。甚至不知道从哪里开始。但这里有一个动态脚本,我认为这就是问题所在。但找不到与选择框的任何冲突。有什么好处 $(function() {

我正在创建一个通过AJAX和hashchange jquery脚本动态更改和替换页面内容的应用程序。由于某些原因,在动态更改的AJAX内容中,没有显示select form选项。示例如下:

但是,如果我运行页面,而不通过AJAX加载/更改内容,请删除URL中的标记,select form元素将按原样工作

这简直要了我的命!!!请帮忙。以前从未遇到过这样的问题。甚至不知道从哪里开始。但这里有一个动态脚本,我认为这就是问题所在。但找不到与选择框的任何冲突。有什么好处

$(function() {

var newHash      = "",
    $mainContent = $("#appContent"),
    $pageWrap    = $("#page-wrap"),
    baseHeight   = 0,
    $el; 

$pageWrap.height($pageWrap.height());
baseHeight = $pageWrap.height() - $mainContent.height();

    $("nav").delegate("a", "click", function() {
        window.location.hash = $(this).attr("href");
        return false;
    }); 
    $("#buttonWrap").delegate("a", "click", function() {
        window.location.hash = $(this).attr("href");
        return false;
    });  

$(window).bind('hashchange', function(){    
    newHash = window.location.hash.substring(1);        
    if (newHash) {
        $mainContent
            .find("#guts")
            .slideToggle(500, function() {
                $mainContent.hide().load(newHash + " #guts", function() {
                    $mainContent.slideToggle(500, function() {
                        $pageWrap.animate({
                            height: baseHeight + $mainContent.height() + "px"
                        });
                    });
                    $("nav a").removeClass("current");
                    $("nav a[href="+newHash+"]").addClass("current");

                    //RE-FIRE OTHER SCRIPTS ON AJAX CONTENT LOAD

                    //Phone Field Format
                    $(function() { 
                        $("#phone").mask("(999) 999-9999",{placeholder:" "});
                    });

                });
            });
    };                         
});

$(window).trigger('hashchange');

})

来自服务器的响应看起来完全正确,但插入DOM后,select元素完全被破坏。我的猜测是load+parse选择器是罪魁祸首。使用$.ajax进行尝试,如下所示:

$(function() {

var newHash      = "",
    $mainContent = $("#appContent"),
    $pageWrap    = $("#page-wrap"),
    baseHeight   = 0,
    $el;

$pageWrap.height($pageWrap.height());
baseHeight = $pageWrap.height() - $mainContent.height();

    $("nav").delegate("a", "click", function() {
        window.location.hash = $(this).attr("href");
        return false;
    });
    $("#buttonWrap").delegate("a", "click", function() {
        window.location.hash = $(this).attr("href");
        return false;
    });

$(window).bind('hashchange', function(){
    newHash = window.location.hash.substring(1);
    if (newHash) {
        $mainContent
            .find("#guts")
            .slideToggle(500, function() {
                $mainContent.hide();
                $.ajax({
                    url: newHash,
                    dataType: 'html',
                    success: function(data) {
                        $mainContent.html($(data).find('#appContent').html());
                        $mainContent.slideToggle(500, function() {
                            $pageWrap.animate({
                                height: baseHeight + $mainContent.height() + "px"
                            });
                        });
                        $("nav a").removeClass("current");
                        $("nav a[href="+newHash+"]").addClass("current");

                        //RE-FIRE OTHER SCRIPTS ON AJAX CONTENT LOAD

                        //Phone Field Format
                        $(function() {
                            $("#phone").mask("(999) 999-9999",{placeholder:" "});
                       });
                    }
                });
            });
    }
});

$(window).trigger('hashchange');

});

编辑:完整的代码回答

Ha,没有大喊大叫的伙伴,如果我是,那就是我自己。不是我请求帮助的人目前这只是一个猜测,但可能是服务器将您的页面解释为纯HTML而不是PHP吗?将.php扩展名放在url的哈希部分不会触发服务器将其解释为php。也许如果你正在使用的主页是一个HTML文件,你可以把它改成一个PHP文件。我确实想到了,但是我正在使用的主页也是PHP:嗯,你的代码不起作用。但我可能实施错了。另外,我没有使用jQuery1.7。你能举一个你提到的定期成功回访的例子吗?完整脚本?我还看到select通过ajax/load从服务器返回,带有一个自动关闭标记:。这无疑是个问题。编辑答案以明确询问html,看看这是否有帮助。感谢您的帮助。但它似乎没有修复它。。。不确定是什么导致了这个问题。这对我现在有效:当然有效!看起来是自动关闭标签错误把事情搞砸了。啊。排除故障时,我总是先检查源代码。我想是有一天吧。你这个摇滚人。谢谢