2012-07-09 75 views
1

有没有办法使用jQuery .load(page.php)函数,例如我有选择地选择page.php的部分?例如,像这样:更简单的方法来动态刷新许多单独的元素

$('#div1').load('page.php#1'); //Puts div id = 1 into div1 
$('#div2').load('page.php#2'); //Puts div id = 2 into div2 
... 

如果我讲解使用情况下我的问题可能会更有意义 - 我现在有与拉从各种PHP函数数据的几个单元格的表。这些数据会随着时间而改变,所以我想动态地重新加载该表。

尽管如此,表格元素还包含文本输入表单。如果我重新加载整个表格,用户会丢失输入到表单中的数据并将焦点放在表单上。即使我通过将它们保存在临时变量中来保存这些内容,光标仍会重置为表单的开头。我宁愿不为每个数据元素创建一个页面,所以我想知道是否有一种方法可以选择我正在加载的页面的哪一部分。

回答

1

$.get有什么问题,并使用jQuery解析/推送你想要的内容?

$.get('/my/page.html',function(data){ 
    $('#one').empty().append($('#one',data)); 
    $('#two').empty().append($('#two',data)); 
    // ... 
}); 

此外,FWIW,以数值开头的ID无效。你需要从一封信开始。

+0

谢谢,这就是我正在寻找的。但是,我在解析响应数据时遇到了一些麻烦。我完全按照你发布的内容(当然有适当的重命名的div),但$('#one',data)返回一个空对象。实际的get可以正常工作,我可以在数据中看到我的div和它的内容 - 我无法解析它。 – Chris 2012-07-09 02:37:22

+0

@Chris:我不确定这个问题会是什么,用[clean jsFiddle example](http://jsfiddle.net/6BpXg/)运行正常。 (使用所描述的方法动态加载内容)。 – 2012-07-09 13:25:44

相关问题