多次替换div的内容

时间:2011-11-10 09:24:32

标签: javascript html ajax jquery

我有一个选择我的服务器,我在所选服务器上加载信息,而无需重新加载页面。我正在使用ajax和ReplaceWith()。

我尝试使用live()多次替换信息,但它只运行一次,为什么?

<script>
    $(function(){
        $('select').live('change', function(){
            $.ajax({
                type: "POST",
                url: "server.php",
                data: "hostname=" + $(this).val(),
                success: function(data){
                    $("#results").replaceWith(data);
                }
            })
        });
    });
</script>

3 个答案:

答案 0 :(得分:2)

这是因为您用数据替换 #results容器。下一次$(“#results”)选择器将不匹配任何元素(因为容器被前一次调用替换)。

.html()不会替换容器,而是更新容器的内容。

答案 1 :(得分:1)

我真的不明白为什么它适用于html()而不适用于ReplaceWith(),但是它有效!

<script>
    $(function(){
        $('select').live('change', function(){
            $.ajax({
                type: "POST",
                url: "serveur.php",
                data: "hostname=" + $(this).val(),
                success: function(data){
                    $("#results").html(data);
                }
            })
        });
    });
</script>

很抱歉回答我自己的问题。

答案 2 :(得分:0)

live()方法有点被弃用,可能无法正常工作。试试()而不是。