Невозможно установить выбранное значение DropDown В angularJs
У меня есть DropDown. Я привязываю его значение, используя ng-repeat
в опции.
Я хочу установить выбранное значение только с помощью поля значения.
Это мой код.
<div ng-controller="myCtrl">
<select ng-model="selectedItemvalue">
<option value="">--Select --</option>
<option ng-repeat="sel in selectables" value="{{sel.value}}">{{sel.label}}</option>
</select>
<p>Selected Value is : {{selectedItemvalue}}</p>
</div>
Js
angular.module('myApp', [])
// controller here
.controller('myCtrl', function($scope) {
$scope.selectables = [
{ label: 'A', value: 1},
{ label:'B', value: 2},
{ label: 'C', value: 3}
];
// this is the model that used for the data binding in the select directive
// the default selected item
//using value, i want to set the selected value
$scope.selectedItemvalue = "2";
})
Моя скрипта
Как вы можете видеть, я хочу установить только выбранное значение uisng. Установив значение.
Ответы
Ответ 1
Вам нужно использовать ng-model
вместо ng-value
, чтобы привязать его к модели.
<select ng-model="selectedItemvalue">
Обновление: $scope.selectedItem
должно быть $scope.selectedItemvalue
в контроллере, а затем вы можете использовать ng-selected
для соответствия условию
Рабочая демонстрация
angular
.module('myApp', [])
// controller here
.controller('myCtrl', function($scope) {
$scope.selectables = [
{ label: 'A', value: 1},
{ label:'B', value: 2},
{ label: 'C', value: 3}
];
// this is the model that used for the data binding in the select directive
// the default selected item
//using value, i want to set the selected value
$scope.selectedItemvalue = "2";
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"></script>
<div ng-controller="myCtrl" ng-app="myApp">
<select ng-model="selectedItemvalue">
<option value="">--Select --</option>
<option ng-repeat="sel in selectables" ng-selected="selectedItemvalue == sel.value" value="{{sel.value}}">{{sel.label}}</option>
</select>
<p>Selected Value is : {{selectedItemvalue}}</p>
</div>
Ответ 2
Вам нужно в основном использовать следующий синтаксис для тэга option
(используйте ng-selected
):
<option ng-repeat="sel in selectables" value="{{sel.value}}" ng-selected="sel.value == selectedItemvalue">{{sel.label}}</option>
Ответ 3
Если вы попробуете
$scope.selectedItemvalue = {label: 'B', value: 2};
тогда он будет работать.