我有以下输入html元素,我想根据我的用户模型中的内容更改占位符。
<input type="text" class="form-control" id="Username" name="Username" data-ng-model="user.Username" required="" ng-placeholder="{{user.AdAccount ? 'Username' : 'Ad Login'}}">
我甚至尝试过这种方法,据说在以前的角度版本中有效,但没有成功。
ng-placeholder="user.AdAccount == true && 'Username' || 'AD Login'"
目前我的占位符显示为完全空白。我也知道AdAccount正确地保存了true / false,因为它正在使用ng-show在表单的其他地方使用。
答案 0 :(得分:42)
我认为没有任何ngPlaceholder指令。尝试将代码更改为:
<input type="text" class="form-control" id="Username" name="Username" data-ng-model="user.Username" required="" placeholder="{{user.AdAccount ? 'Username' : 'Ad Login'}}" />
也就是说,将ng-placeholder
更改为placeholder
,一切都应该正常。
(如果您需要符合有效的XHTML,请注意自动关闭斜杠。)
答案 1 :(得分:11)
你可以试试这个:
<input type="text" class="form-control" id="Username" name="Username" data-ng-model="user.Username" required="" ng-attr-placeholder="{{user.AdAccount ? 'Username' : 'Ad Login'}}">
ng-attr-将适用于任何HTML属性。
答案 2 :(得分:1)
在HTML中:
<input type="text" placeholder="{{doctorname ? doctorname : 'Dr. your name'}}"
class="editable-class" ng-model="doctor.name" readonly/>
在控制器中:
$scope.doctorname = $scope.doctorinfo.name;