Angularjs中的隐藏输入字段不会更新

时间:2013-08-30 06:00:11

标签: javascript angularjs

我使用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 个答案:

答案 0 :(得分:1)

尝试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