knockout.js - 在禁用/启用表单元素后更新模型

时间:2013-02-23 10:03:33

标签: knockout.js knockout-mapping-plugin knockout-2.0

我目前正在尝试使用Knock out View模型发布到ajax端点。

我正在努力应对以下情况;

  • 我绑定表单字段,一切都很好。

  • 我的应用程序有一个场景,其中某些表单字段的readonly属性设置为true(使用jquery $("#element).attr("readonly","true");

  • 设置为只读后,模型与控件断开连接(模型项显示为null)。

我尝试在发布之前启用表单元素,然后在病房之后将它们设置为null,但这是不成功的。

如何保持readonly控件的约束?

1 个答案:

答案 0 :(得分:0)

这很好用。我在错误的地方寻找。

问题不在于我Knockout没有更新模型。问题是我使用jQuery单独更新字段,而不是模型。

我在做:

$("#fieldName").val("new value");
$("#fieldName").attr("readonly","true");

这不是更新Knockout模型。我正在使用该模型提交ajax请求,因此这是一个问题。

通过这样做,我没有问题:

viewModel.fieldName("new value);
$("#fieldName").attr("readonly","true");

感谢所有人让我回到使用mvvm的方式。