私は、特定の検証が必要なフォームを持っています。私は、同じデータを表示する2つのドロップダウン(有効期限付きこの場合、プロモーションコードを)持っている。..有効期限に基づくアンギュラ・アレイの削除
だから私の最初のドロップダウンがプロモーションコードであるある:
<div class="input-group col-sm-12 col-md-12 col-lg-12">
<span style="min-width: 150px;" class="input-group-addon promo-select">Select Promo Code</span>
<select id="offer_promo" name="offer_promo" class="form-control" ng-change="promoAction()"
ng-model="promo"
ng-options="p.Promo_ID as p.Promo_Code + ' (' + p.Promo_Description + ')' for p in promos">
<option value="">Please Select A Promotion</option>
</select>
</div>
だから私の2番目のドロップダウンがこれです追加のプロモーションコード:
$scope.promoFilter = function() {
function promosFilteredBy(date) {
var filteredPromos = $scope.addPromos.filter(function(addPromos) {
console.log(filteredPromos);
var promoDate = new Date($scope.promo_expiration);
return promoDate < date;
});
return filteredPromos;
}
var selectedPromoDate = new Date($scope.promo_expiration);
$scope.addPromos = promosFilteredBy(selectedPromoDate);
};
:ここ
<div data-ng-show="(offer.is_primary === 1)" class="input-group col-sm-12 col-md-12 col-lg-12">
<span class="input-group-addon">Additional Code</span>
<select ng-disabled="additionalCodeDisabled" id="offer_promo_add" name="offer_promo_add" class="form-control" ng-model="addPromo"
ng-options="p.Promo_Code as p.Promo_Code + ' (' + p.Promo_Description + ')' for p in addPromos"></select>
</div>
は私がpromoAction内呼び出しています私のフィルタコントローラです
私のコントローラ内では、空の配列を取得しています。またはfilteredPromosには未定義です。フィルタ機能が正しく動作していないので、どこにいなくなっているのかわかりません。
私の問題は、ユーザーが最初のドロップダウンにプロモーションコードを選択したときに、それはあなたが選択した内容に基づいて、特定の期間満了コードを持って入って来。だから私は追加プロモーションコード内のすべてのコードを削除したいと言います2番目のドロップダウンは、より高いです。 .slice()は時間順ではないので使用できません。私は自分の日付にmomment.jsを使用しているので、日付を比較するために.isBefore()を使用する可能性があります。
例を示します。最初のプルダウンで「25ANC」を選択します。 promo_expiration:「01/30/2017」。その日付を過ぎた追加のプロモーションドロップダウンの項目は、ドロップダウンから削除する必要があります。
私は現在、プロモーションやaddPromoのためにNG-モデルを見ている$の時計機能を持っています。私は、日付の検証に合致しないプロモーションコードをスライスしてスライスする機能を作成する必要があることを知っています。しかし、その関数をどのように作成すればよいのですか?その関数をどこで呼び出すべきですか?私はコードの任意のセクションをしないのです場合
、私はそれを提供することができます私に知らせてください。
魔法を実行するためにpromoAction()コールを使用する必要があると書いていましたが、例として2つの同様のコードスニペットがあります。 –