我目前正在尝试使用 Knock out View 模型发布到 ajax 端点。
我正在为以下情况而苦苦挣扎;
我绑定了表单字段,一切都很好。
我的应用程序有一个场景,其中一些表单字段的
readonly属性设置为 true(使用 jquery$("#element).attr("readonly","true");)设置为只读后,模型与控件断开连接(模型项显示为空)。
我尝试在发布之前启用表单元素,然后在之后将它们设置为 null,但这不成功。
如何保持readonly控件绑定?
我目前正在尝试使用 Knock out View 模型发布到 ajax 端点。
我正在为以下情况而苦苦挣扎;
我绑定了表单字段,一切都很好。
我的应用程序有一个场景,其中一些表单字段的readonly属性设置为 true(使用 jquery $("#element).attr("readonly","true");)
设置为只读后,模型与控件断开连接(模型项显示为空)。
我尝试在发布之前启用表单元素,然后在之后将它们设置为 null,但这不成功。
如何保持readonly控件绑定?
这工作正常。我找错地方了。
问题不在于 I Knockout 没有更新模型。问题是我使用 jQuery 单独更新字段,而不是模型。
我在做:
$("#fieldName").val("new value");
$("#fieldName").attr("readonly","true");
这并没有更新 Knockout 模型。我正在使用模型提交 ajax 请求,所以这是一个问题。
通过这样做,我没有问题:
viewModel.fieldName("new value);
$("#fieldName").attr("readonly","true");
感谢大家推动我重新以我应该的方式使用 mvvm。