是否有一种简单的方法可以为每个文本框定义占位符文本
以下列形式:
“请输入最多X个字符”,其中X是ng-maxlength的内容
或者我必须手动编写它:
<input class="form-control" ng-model="valueBag.test"
ng-maxlength="30"
placeholder="Please enter a maximum of 30 Chars">
我已经有一个包含30多个现有输入的表单,我想在每个表单中添加占位符(这不是手动操作)。
答案 0 :(得分:2)
我认为你可以创建一个简单的指令:
app.directive('formControl', function() {
return {
restrict: 'C',
link: function(scope, e, attr) {
var el = e;
if (attr['ngMaxlength']) {
el.attr('placeholder', 'Please enter a maximum of ' + attr['ngMaxlength'] + ' Chars')
}
}
}
});
这适用于设置了form-control
和ng-maxlength
类的任何元素。
演示:http://plnkr.co/edit/m1K49L2pHAHaAmfXrrk6?p=preview
你可能会因创建一个输入元素指令而失败,所以不需要这个类:
app.directive('input', function() {
return {
restrict: 'E',
link: function(scope, e, attr) {
var el = e;
if (attr['ngMaxlength']) {
el.attr('placeholder', 'Please enter a maximum of ' + attr['ngMaxlength'] + ' Chars')
}
}
}
});
关于指令的角度帮助文档现在很棒(过去不是这样):http://docs.angularjs.org/guide/directive