我正在尝试在文本元素中创建一个下拉菜单。我也有这些目标:
在输入用户时,月份也需要在列表中重置(过滤器)。 (例如:用户输入 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;
}
});
最佳答案
对于您的第一个问题,您可以对输入使用过滤器:
ng-repeat="month in months | filter:defaultMonth"
您的第二个问题可以通过在输入中添加 required
并将其添加到 html 中来解决:
<span ng-show="monthForm.selectMonth.$error.required">Please enter something!</span>
但是您与问题3相矛盾。文本输入应过滤用户输入,但用户不应该能够自己填写输入?第4题我也看不懂。请澄清...
关于javascript - angularjs - 如何将输入元素转换为列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33778248/