这是我在 Salesforce 开发人员板上提出的一个问题的扩展,但没有得到太多发挥:
我有一个 VisualForce 页面,需要经常更改才能从控制器加载新信息并将该信息嵌入到 Javascript 数组中以供进一步使用。
当前解决方案:我已经成功使用 VisualForce“浏览器技术”,如此处所述(在 Wiki 中): http ://wiki.developerforce.com/index.php/Using_Browser_Technologies_in_Visualforce_-_Part_1
我用推荐的标签包围了 Javascript array.push:
<apex:repeat value="{!Object}" var="objects">
d.push( {
element1: "{!objects.id}"
})
</apex:repeat>
问题:当整个页面刷新填充时,数组被正确填充,当我使用我的“下拉菜单”修改对象上的过滤器(在控制器中)时,DOM 被更新(我可以看到新信息被放置在页面上),
然而,最终,除非我在整个页面上调用刷新,否则 Javascript 数组不会改变它的值,这有点打败了部分刷新,并且对用户来说是对系统的一种冲击。
这个“必要的帖子”问题以前不是问题,即使我在更新 DOM 后直接调用包含此数组填充的 Javascript 函数时,Javascript 数组也不会改变(所以我假设它加载了一次基于页面最初回发且无法更改时 DOM 中的内容。
想法?