我正在尝试在文本元素中创建一个下拉列表。我也有这些目标:
在输入用户时,月份也需要在列表中重置(过滤)。 (例如:用户类型为jan,所有月份都需要在列表中过滤相同的字母)。
当用户没有从列表中选择任何内容时,我需要显示错误。
用户不应在文本字段中手动删除月份,也不应在文本字段中自行填写。
文本字段中没有列表值,因此需要禁用表单。
如何搞定这一切?
我的代码:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.months = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
$scope.defaultMonth = 'Select a Month';
$scope.showList = false;
$scope.setMonth = function ( month ) {
console.log( month );
$scope.defaultMonth = month;
$scope.showList=false;
}
});
答案 0 :(得分:1)
对于您的第一个问题,您可以在输入中使用过滤器:
ng-repeat="month in months | filter:defaultMonth"
您的第二个问题可以通过在您的输入中添加required
并将其添加到您的HTML中来解决:
<span ng-show="monthForm.selectMonth.$error.required">Please enter something!</span>
但是您的问题与第3号问题相矛盾。文本输入应过滤用户输入,但用户不应该自己填写输入?问题4我也不明白。请澄清......