knockout.js-在禁用/启用表单元素后更新模型
我目前正在尝试使用淘汰视图模型发布到ajax端点 我正在与下面的场景作斗争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单独更
- 我绑定表单字段,一切正常
- 我的应用程序有一个场景,其中一些表单字段的
属性设置为true(使用jqueryreadonly
)$(“#元素).attr(“readonly”,“true”);
- 设置为只读后,模型与控件断开连接(模型项显示为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?