私は使用しています
- Angular UI -オプション ボックスを表示する Select2 ディレクティブ。
- 日付ピッカーを表示するBootstrap Date-Range Picker
2人とも個人的には元気に働いています。
日付ピッカーの働き
日付範囲が変更されるたびに、AngularJS を介して新しいデータが取得されます。これはコードです:
HTML
<div ng-app="my-app" ng-controller="MyController">
<div id="reportrange" class="reportrange"
my-date-picker="changeDate($startDate, $endDate)">
<span></span>
</div>
</div>
Angular スクリプト
//directive code
var mod = angular.module('my-app', ['ngResource', 'ui']);
mod.directive('myDatePicker', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attr) {
$(element).daterangepicker({
//options now shown for brevity
}, function (startDate, endDate) {
$('#reportrange span').html(startDate.toString('MMMM d, yyyy') + ' - ' + endDate.toString('MMMM d, yyyy'));
var fStartDate = moment(startDate).format('YYYY-MM-DD');
var fEndDate = moment(endDate).add('days', 1).format('YYYY-MM-DD');
scope.$eval(attr.myDatePicker, {$startDate: fStartDate, $endDate: fEndDate});
});
var inEndDate = Date.today();
var inStartDate = Date.today().add({ days: -29 });
//Set the initial state of the picker label
$('#reportrange span').html(inStartDate.toString('MMMM d, yyyy') + ' - ' + inEndDate.toString('MMMM d, yyyy'));
}
};
});
//Controller code
function MyController($scope, $resource, $timeout) {
var inEndDate = moment(Date.today()).format('YYYY-MM-DD');
var inStartDate = moment(Date.today().add({ days: -29 })).format('YYYY-MM-DD');
var User = $resource('/fetch?from=:from&to=:to', {from: inStartDate, to: inEndDate}, {
getAll: {method: 'GET', isArray: true}
});
$scope.changeDate = function(fromDate, toDate) {
$scope.customers = User.getAll({from: fromDate, to: toDate});
};
$scope.customers = User.getAll();
}
これはうまくいっています。選択した範囲のリストを取得customers
しています (範囲が変更されるたびに $resource を介してフェッチされます)
Select2 AngularUI の動作
<select ui-select2 ng-model="selectedCity" >
<option value="1">City1</option>
<option value="2">City2</option>
<option value="3">City3</option>
</select>
これも問題なく動作しています。
要件は、オプションが選択されるたびに (たとえば、2 番目のオプション、City2)、City2customers
の選択範囲のリストを取得することです。また、City2 が選択されている間、ユーザーは日付範囲を変更して新しいcustomers
値のリストを取得することもできます。
だから私は、日時ピッカーとこの選択オプションをどのようにリンクするかについて行き詰まっていますか? よろしくお願いします。
私は立ち往生しています。:(