我有一个使用AngularJS管理的表单。 我在ng-repeat dropdonw列表上使用来更新隐藏的字段值。 一切正常,直到我使用chrome并提交代码,然后执行
"页面返回/返回一页"
如果我再次尝试使用dropdonw列表,它只更新print语句中的模态值而不是隐藏输入的值。
<input type="hidden" name="postageId" value="{{intPostageId}}" ng-model="intPostageId" />{{intPostageId}}
输入外的{{intPostageId}}有效,但里面的那个没有更新
非常感谢
答案 0 :(得分:3)
出于某种原因,角度不会使用ng-model更新隐藏的输入值。你必须做一个非常明确的指示才能让它发挥作用。
您不需要具有ng-model的值绑定就足够了。
module.directive('updateHidden', function () {
return function (scope, el, attr) {
var model = attr.ngModel;
scope.$watch(model, function (val) {
el.val(val);
});
};
});
答案 1 :(得分:0)
我自己遇到了这个问题。不知道为什么会发生这种情况,但我发现这是一个简单的解决方法,只需将显示的文本字段的隐藏字段交换为:none
<input type="text" name="postageId" value="{{intPostageId}}" style="display:none">