Удалить выбранную опцию из углового поля выбора в ng-repeat для следующего индекса

Я работаю над выпадающим в угловой JS, который уже находится в опции ng-repat. Я хочу, чтобы он работал таким образом, чтобы при выборе какого-либо параметра в любом из повторяющихся блоков выбора он не был доступен в других повторяющихся полях выбора. Мой текущий код выглядит следующим образом.:

HTML:

<div ng-repeat="endDate in endDate_counts">
<div class="sch_endDate_opsAmount_cell cell1">
<strong class="nc_Camaignfinance_title">Option</strong>
 <div class="nc_Camaign_costFinance_opsSlct" select-input>
   <div class="nc_Camaign_costFinance_opsSlct_inn">
    <span>{{endDate.select_endDate}}</span>
   <ul>
  <li ng-click="endDate.select_endDate = 'Never'">
        <em>Never</em></li>
    <li ng-click="endDate.select_endDate = 'Impressions'">
        <em>Impressions</em></li>
    <li  ng-click="endDate.select_endDate = 'Budget'">
        <em>Budget</em></li>
    <li  ng-click="endDate.select_endDate = 'Clicks'">
        <em>Clicks</em></li>
    <li  ng-click="endDate.select_endDate = 'Date'">
        <em>Date</em></li>
</ul>
</div>
</div>
</div>
</div>

* Примечание: пожалуйста, игнорируйте пользовательские директивы или другие методы. Я использую их сам и знаю о них.

1 ответ

Пытаться:

HTML:

<ul>
<li ng-show="checkExist(key-1,'Never')" ng-click="endDate.select_endDate = 'Never'">
    <em>Never</em></li>
<li ng-show="checkExist(key-1,'Impressions')" ng-click="endDate.select_endDate = 'Impressions'">
    <em>Impressions</em></li>
<li ng-show="checkExist(key-1,'Budget')" ng-click="endDate.select_endDate = 'Budget'">
    <em>Budget</em></li>
<li ng-show="checkExist(key-1,'Clicks')" ng-click="endDate.select_endDate = 'Clicks'">
    <em>Clicks</em></li>
<li ng-show="checkExist(key-1,'Date')" ng-click="endDate.select_endDate = 'Date'">
    <em>Date</em></li>

добавьте эту функцию в ваш файл js:

$scope.checkExist = function(index,value){
    if(index < 0){
        return true;
    }

    if($scope.endDate_counts[index].select_endDate == value){
        return false;
    }else {
        return true;
    }
}
Другие вопросы по тегам