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

knockout.js-在禁用/启用表单元素后更新模型,knockout.js,knockout-mapping-plugin,knockout-2.0,Knockout.js,Knockout Mapping Plugin,Knockout 2.0,我目前正在尝试使用淘汰视图模型发布到ajax端点 我正在与下面的场景作斗争 我绑定表单字段,一切正常 我的应用程序有一个场景,其中一些表单字段的readonly属性设置为true(使用jquery$(“#元素).attr(“readonly”,“true”);) 设置为只读后,模型与控件断开连接(模型项显示为null) 我曾尝试在发布前启用表单元素,然后在发布后将其设置为null,但没有成功 如何保持只读控件的绑定?这很好。我找错地方了 问题不在于我没有更新模型,而是我使用jQuery单独更

我目前正在尝试使用淘汰视图模型发布到ajax端点

我正在与下面的场景作斗争

  • 我绑定表单字段,一切正常

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

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

我曾尝试在发布前启用表单元素,然后在发布后将其设置为null,但没有成功


如何保持
只读
控件的绑定?

这很好。我找错地方了

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

我在做:

$("#fieldName").val("new value");
$("#fieldName").attr("readonly","true");
这不是更新淘汰模型。我使用该模型提交ajax请求,所以这是一个问题

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

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

感谢大家让我回到我应该使用mvvm的方式。

一些代码来重现这个问题会有所帮助。(PS.为什么jQuery要设置readonly属性?使用视图模型()这样做不是更有意义吗?)同意。似乎工作正常。jQuery这样做是因为我有一个逻辑组合,而不仅仅是MVVM。我希望有一个
updateBind
或类似的我可以在现场调用?你的KO模型与我的中看到的有什么不同?你的jQuery逻辑与那里看到的有什么不同?更改“true”吗“在上述代码帮助中是否为true?