2016-07-26 6 views
0

habe ich eine Kendo Dropdown wie diesedynamisch hinzufügen/entfernen Option von Kendo DrownDownList mit kantigem

<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> 

ich auf einem Bool in meinem Controller die dritte option basierend entfernen möchten. Das Bool wird beim Laden der Seite ausgewertet und danach nicht mehr geändert.

Ich habe versucht, eine ng-disable oder eine ng-show auf die dritte option Tag, und binden, dass die bool, aber es scheint nicht zu funktionieren.

+0

Sie könnten das erreichen, indem Sie eine 'DataSource' verwenden. Verwenden Sie einfach ein Array von Werten und 'add' /' remove' Werte nach Bedarf. – Philipp

+0

@Philipp Danke, ich habe am Ende den Tag 'ng-options' in meinem' select' Tag verwendet. – Masterchief

Antwort

0

Ich löste dies mit dem ng-options Tag in der select Tag. Meine Sicht:

ng-options="option.value as option.key for option in kilometerOptions" 

Die Option kilometerOptions ist ein Array von Objekten wie die früheren Optionen. Mein Controller:

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; 

Alternative Berechnung ist die Bool, die entscheiden wird, ob Option C enthalten sein wird.

Verwandte Themen