knockout js:“with”绑定打破了jquery ui

时间:2012-02-09 10:49:55

标签: jquery-ui knockout.js

http://jsfiddle.net/AYPze/9/

在这个例子中,我有两个具有相同目标的类似div。绑定datetimepicker中的选定日期并将其保存到由knockout js。

绑定的对象

第一个div的问题是datetimepicker不会显示,因为我使用了淘汰赛#34;"结合。

第二个div使用正常的knockout js绑定语法,它与datetimepicker配合使用。

我也使用jquery-ui Accordion

来体验这种行为

我的问题: 这是淘汰赛或jquery-ui中的一个错误吗? 有没有解决方法,所以我可以使用""结合?

1 个答案:

答案 0 :(得分:3)

您的问题与 with 绑定有关,但与您的想法不一致。

你遇到的问题是 with 绑定在这种情况下将从DOM元素中删除jQuery datepicker,这就是为什么你没有看到第一个文本框的datepicker。

这里的主要问题是,在使用Knockout和DOM时,您正在打破一个非常重要的规则。您不应该像使用jQuery一样直接访问DOM。您必须使用bindingHandler来弥合数据模型和DOM模型之间的差距。

绑定处理程序起初看起来很复杂,但是一旦你了解它们就非常方便。

以下是您的小提琴的更新版本以及工作日期选择器:http://jsfiddle.net/AYPze/10/