Angularjs中隐藏的输入字段未更新

Hidden input field in Angularjs not update

本文关键字:字段 更新 输入 隐藏 Angularjs      更新时间:2023-09-26

我使用angularjs v1.0.7。我有一个隐藏的表单字段,它的值与其他输入值相关。在里面http://jsfiddle.net/4ANaK/例如,当我输入文本时,隐藏的文件不会更新。

<div ng-controller="MyCtrl">
    <form ng-submit="action()">
      name:<input ng-model="name" type="text"  value="you name">
      <input ng-model="nice_name" type="hidden" value="Mr {{name}}" >
      <input type="submit">
    </form>
</div>
var app=angular.module('myApp', []);
function MyCtrl($scope) {
    $scope.name = "David";
    $scope.action = function(){
        alert($scope.nice_name);                
    }
}

如何解决问题?

尝试1次

将其添加到控制器中可以解决问题。它也能解决你真正的问题吗?

$scope.$watch('name', function (value) {
    $scope.nice_name = 'Mr ' + value;
});

http://jsfiddle.net/4kySW/


尝试2

好吧,这个怎么样?这纯粹是在观点上做的。

http://jsfiddle.net/4kySW/1/

<input ... ng-change="nice_name = 'Mr ' + name" ng-init="nice_name = 'Mr ' + name">

编辑

看起来ng-init不是必需的。