我有一个选择我的服务器,我在所选服务器上加载信息,而无需重新加载页面。我正在使用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>
答案 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()方法有点被弃用,可能无法正常工作。试试()而不是。