У меня есть простой сценарий с директивой костюма в angularjs.В котором, если в выпадающем списке будет только один элемент, он будет выбран по умолчанию, иначе он будет работать как обычный выпадающий список.
, для этого я пытаюсь использовать код ниже,
var app = angular.module("testapp", []);
(function () {
'use strict';
angular.module('testapp').controller('TestCtrl', ['$scope', TestCtrl]);
function TestCtrl($scope) {
$scope.Test=[];
$scope.Test.id=0;
$scope.data = [{
"id": 1,
"name": "abc"
}];
}
})()
angular.module('testapp').directive('advanceDropdown', function () {
var directive = {}
directive.restrict = 'A';
directive.require = 'ngModel';
directive.scope = {
items: '=advanceDropdown'
}
directive.link = function (scope, element, attrs, ctrl) {
if (scope.items.length == 1) {
element.val(scope.items[0]);
}
}
return directive;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.2/angular.min.js"></script>
<div ng-app="testapp" ng-controller="TestCtrl">
<select name="ddlTest" ng-model="Test.id" ng-options="d.id as d.name for d in data" advance-dropdown="data" required>
<option value="" ng-selected="selected" disabled>--Select--</option>
</select>
</div>
, но это не может работать.чего мне не хватает в коде.