У меня есть Kendo DropDownList, как это
<select kendo-drop-down-list="container.KilometerAllowanceDropDown" k-options="KilometerAllowanceOptions" ng-change="kilometerAllowanceChanged()" class="fill-width" id="KilometerAllowance" ng-model="DriveReport.KilometerAllowance">
<option value="Calculated">A</option>
<option value="Read">B</option>
<option value="CalculatedWithoutExtraDistance">C</option>
</select>
Я хочу удалить третий option
основанный на bool в моем контроллере. Bool будет оцениваться при загрузке страницы и не изменится после этого.
Я попытался добавить ng-disable
или ng-show
в третий тег option
и привязать его к bool, но он, похоже, не работает.
Я решил это, используя тег ng-options
теге select
. Мой взгляд:
ng-options="option.value as option.key for option in kilometerOptions"
КилометрОпции - это массив объектов, подобных прежним. Мой контроллер:
var kilometeroptions = new Array();
kilometeroptions.push({ value: "Calculated", key: "A" });
kilometeroptions.push({ value: "Read", key: "B" });
if (!alternativeCalculation) {
kilometeroptions.push({ value: "CalculatedWithoutExtraDistance", key: "C" });
}
$scope.kilometerOptions = kilometeroptions;
alternativeCalculation - это bool, который решит, будет ли включен параметр C.
DataSource
. Просто используйте массив значений иadd
/remove
значения по мере необходимости.ng-options
в моем тегеselect
.