在敏捷工具包中,我显示了一组视图,并且在视图中,将外部 div 设置为 id=
1 <div id='<?$_name?>' class='taskrow'>
2 <div class=fleft nomargin>
3 <?$Story?>
4 </div>
5 <div class='container'>
6 <div id='<?$workspace?>' class='workspace'>
..
34 </div>
在页面中,我有一个从 mysql 检索数据并将其添加到页面的 foreach 循环。同时,它将$p->add的返回值存储到一个数组中,以id为key。
foreach ($st as $row) {
if (is_array($row)) {
$storyid=$row[0];
$scrumrow[$storyid]=$p->add('View_StoryRow')
->setWorkspace('ws-'.$storyid);
当执行一个动作(在屏幕上拖动一个元素)时,我刷新页面并且一个 get 块将一些更新应用于数据库。然后我有以下代码来更新视图(这是执行操作的行)
if($_GET['task'] && $_GET['status'])
{
.. do database updates here ..
$js[]=$scrumrow[$ajaxstory]->js()->reload();
// $js[]=$p->js()->reload(array('member'=>$member, 'sprint'=>$sprint));
$this->js(null,$js)->execute();
}
如果我注释掉 $scrumrow[$ajaxstory] 行并使用注释行刷新整个页面,它可以工作,但速度很慢(大约 12 秒),因为屏幕上有很多数据,但是当尝试只刷新查看,我收到标题中的错误,“无法剪切带有名称的对象......它没有被初始化。
更新是在数据库中完成的,所以如果我手动刷新页面,它会起作用,并且错误确实出现在我想要刷新的行的位置,并且确实给出了正确的行名称(如使用 firebug 的 ID 所示)但是我错过了什么?如何初始化页面中已有的对象?