2016-07-26 75 views
0

我有剑道的DropDownList这样动态地从剑道DrownDownList添加/删除选项与角

<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将在页面加载时进行评估,之后不会更改。

我试着在第三个option标签中加入ng-disableng-show,并将其绑定到bool,但它似乎不起作用。

+0

你可以通过使用'DataSource'来实现。只需使用一组值,并根据需要添加''''删除'值。 – Philipp

+0

@Philipp谢谢,我最终在我的'select'标签中使用了'ng-options'标签。 – Masterchief

回答

0

我使用select标记中的ng-options标记解决了此问题。我的看法:

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

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是将决定是否将包括选项C的bool。