我正在为selectize.js使用此AngularJS指令:https://github.com/kbanman/selectize-ng
我有两个下拉菜单,我希望根据另一个selectizeVat
中选择的值填充其中一个selectizeProducts
。我已阅读selectize.js API并找到了setValue方法,但我该如何利用它?
以下是我的模板和控制器代码:
模板
<div ng-controller="dropdownController">
<select selectize="selectizeProducts" options="products" ng-model="product"></select>
<select selectize="selectizeVAT" options="vats" ng-model="chosenProduct.vat"></select>
</div>
控制器
app.controller('dropdownController', function($scope, $filter) {
$scope.chosenProduct = '';
$scope.vats = [
{'id': 0, 'vat': '25%'},
{'id': 1, 'vat': '16%'},
{'id': 2, 'vat': '6%'},
];
$scope.selectizeProducts = {
valueField: 'id',
labelField: 'name',
searchField: 'name',
onChange: function(id) {
// Get an object from $scope.products by id
$scope.chosenProduct = $filter('getById')($scope.products, id);
}
};
$scope.selectizeVat = {
valueField: 'id',
labelField: 'vat',
searchField: 'vat',
};
});
$ scope.products也是这样的:
{'id': 1, 'name': 'My option', 'nr': 1, 'vat': 0}
,基本思路是选择产品,并在selectizeVat下拉列表中自动填充增值税。
谢谢!
答案 0 :(得分:2)
好的,
所以我找到了自己问题的答案。
需要像这样定义 $scope.chosenProduct
以填充增值税:
{'id': 1, 'name': 'My option', 'nr': 1, 'vat': [0]}
好像你需要为seletize定义一个dict,以便填充你的<select>
。