【问题标题】:Binding value to input in Angular JS绑定值到Angular JS中的输入
【发布时间】:2012-09-07 11:15:01
【问题描述】:

我有这样的输入

<input type="text" name="widget.title" ng-model="widget.title" value="{{widget.title}}"/>

我想动态更改输入值,所以我使用它但它不会更改值:

$scope.widget.title = 'a';

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您根本不需要设置该值。 ng-model 负责这一切:

    • 从模型中设置输入值
    • 更改输入时更新模型值
    • 从js更改模型时更新输入值

    这里的小提琴:http://jsfiddle.net/terebentina/9mFpp/

    【讨论】:

    • 很好的例子,我在我的项目中实现并且运行良好!!
    【解决方案2】:

    如果你不想使用 ng-model 有ng-value 你可以试试。

    这里的小提琴:http://jsfiddle.net/Rg9sG/1/

    【讨论】:

    • 无论如何,这似乎只有在输入字段中的值从未更改过的情况下才有效。
    • 我有同样的问题,我无法从控制器更改值
    • 只适用于设置值,但不会在用户更改输入后更新范围变量:“也可以用来实现单向绑定”(docs.angularjs.org/api/ng/directive/ngValue)跨度>
    • 这对我的日期选择器来说是一个很棒的解决方案。
    【解决方案3】:

    点击button后输入框的设置值使用ng-value

    "input type="email"  class="form-control" id="email2" ng-value="myForm.email2" placeholder="Email"
    

    设置值为:

     $scope.myForm.email2 = $scope.names[0].success;
    

    【讨论】:

      【解决方案4】:

      有时会出现不与 DOM 交互的功能/特性的问题

      尝试急剧改变值,然后分配 $scope

      document.getElementById ("textWidget") value = "<NewVal>";
      $scope.widget.title = "<NewVal>";
      

      【讨论】:

        【解决方案5】:

        {{widget.title}} 试试这个就行了

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-06
          • 2019-09-01
          • 2016-11-05
          • 1970-01-01
          • 2015-02-22
          • 2018-04-18
          相关资源
          最近更新 更多