脚本.js
App.controller('permissionManagerController', ['$scope', '$http', '$q', 'ngToast', '$uibModal', '$window', 'permissionManagerRepository', function ($scope, $http, $q, ngToast, $uibModal, $window, PermissionManagerRepository) {
var ctrl = this;
// Variables
$scope.testitem = 103;
$scope.search = {
country: null,
...
};
$scope.lists = {
countries : [],
...
};
// Methods
ctrl.init = function () {
var promises = {
countries: PermissionManagerRepository.getCountries(),
...
};
$q.all(promises).then(function succes(values) {
$scope.lists.countries = values.countries;
...
}, function errorCallback(xhr, ajaxOptions, thrownError) {
console.log("REST API call failed with status: " + xhr.status + " and error: " + thrownError);
});
};
// Utilities
$scope.reloadAffiliates = function (idCountry) {
$scope.search.country = country;
if (idCountry) {
var promises = {
affilates: PermissionManagerRepository.getAffiliatesByCountry(idCountry)
};
$q.all(promises).then(function succes(values) {
$scope.lists.affilates = values.affilates;
}, function errorCallback(xhr, ajaxOptions, thrownError) {
console.log("REST API call failed with status: " + xhr.status + " and error: " + thrownError);
});
}
};
}]);
不工作的例子
<select chosen
data-placeholder-text-single="'Chose countries...'"
allow-single-deselect="true"
search-contains="true"
class="form-control"
ng-model="search.country"
ng-options="ct.IdCountry as ct.CountryNm for ct in lists.countries"
ng-change="reloadAffiliates(search.country)">
</select>
在这种情况下,当由于用户选择一个选项而触发change事件时, search.country将 id 作为值。否则,如果用户单击 ,<abbr class="search-choice-close"></abbr>
则这些值不是null
分配给变量的最后一个值。
工作示例
<select chosen
data-placeholder-text-single="'Chose countries...'"
allow-single-deselect="true"
search-contains="true"
class="form-control"
ng-model="search.country"
ng-options="ct.IdCountry as ct.CountryNm for ct in lists.countries"
ng-change="reloadAffiliates(search.country)">
<option value=""></option>
</select>
在这种情况下,当由于用户选择一个选项而触发change事件时, search.country将 id 作为值。否则,如果用户单击 ,<abbr class="search-choice-close"></abbr>
则值为null
。