首页 文章

如何使用Knockout绑定javascript对话框?

提问于
浏览
0

我在observableArray中有一个数据列表,我想在javascript对话框窗口中显示它(如果重要的话,我正在使用jQuery.blockUI) . 不幸的是,在加载页面后,对话框似乎未绑定 . 对话框正确初始化(显示数据),但不会随更改而更新 .

没有Javascript错误,我在生成对话框并将其添加到文档后移动了绑定(无效) . 我也尝试在构成对话框的主div上调用ko.applyBinding,但由于某种原因,导致主页的一部分隐藏(DOM在那里,但它们是隐藏的) .

EDIT: 我在jsfiddle上创建了一个再现问题的项目 . 主要罪魁祸首似乎是在div中包含对话框的内容 . 如果我直接显示内容它似乎工作(当然我不能这样做,包装器为我们的对话框提供了一个共同的样式) .

我正在从流感中恢复过来,可能很容易遗漏一些明显的东西,但我一整天都在努力,没有任何事情发生在我身上 . 有任何想法吗?

1 回答

  • 2

    问题是DOM中不存在对话框(尽管你调用了 $(document).append() . 你不能将div作为文档本身的子句附加) . 而是将对话框附加到正文并隐藏它 .

    $dlg = $('<div></div>').hide();
    $('body').append($dlg);
    

    Works here: http://jsfiddle.net/yL6ds/4/

相关问题