【发布时间】:2015-08-12 18:38:55
【问题描述】:
我有一个文本字段和一个复选框。如果复选框为真,我希望地址字段中的值位于复选框之后,如果为假,则该字段应为空。我尝试了 ng-class 和更多的三元运算符,但没有运气。什么是最好的和有效的解决方案?
<form name="form" ng-app>
<div class="form-group form-group-lg required">
<label class="col-md-2 control-label">Address:</label>
<div class="col-md-10" ">
<input type="text " name="address " class="form-control " ng-model="address " ng-minlength="4 " placeholder="Address " required>
</div>
</div>
<div class="form-group form-group-lg">
<label class="col-md-2 control-label">Return Address</label>
<div class="col-md-10">
<div class="input-group">
<span class="input-group-addon">
<!--condition ? first_expression : second_expression; -->
<input type="checkbox" ng-model="isReturnAddress" ng-change="">
</span><!--condition ? first_expression : second_expression; -->
<input type="text" class="form-control" ng-model="address">
</div>
{{isReturnAddress}}
</div>
</div>
<button type="submit " class="btn btn-primary btn-large " ng-click="submitted=true ">Submit</button>
【问题讨论】:
-
你可以做一些内联的事情,但为什么不在控制器上提供一个方法来为你处理逻辑呢?然后调用 {{putTextIWantHere()}}
-
我正在尝试同时学习 AngularJS,但也许我只是在控制器内部处理它。我在想这将是一个简单的案例,但我意识到它不是:)
-
哦,如果您是全新的,那么您可能正在寻找 ng-if 或 ng-show。我以为你在谈论不使用这些。
-
这些也可以。我将它实现到控制器并且工作正常,但如果你有什么想法,我很高兴听到它,我的意思是没有向控制器添加任何东西。
标签: javascript angularjs ternary-operator ng-class