0

我使用輸入與複選框類型來縮小我的搜索結果; 問題是我把複選框放入模式中,當我檢查了其中的許多模式並關閉模式時,選中的輸入變爲未選中狀態。當我關閉模式,檢查輸入變成未選中

我希望每次打開檢查過的模式輸入。

var filterTemps = [ 
 
     "partial/uicomponent/mdlFilters/mdl.estateType.filter.html", 
 
    ]; 
 

 
    $scope.showReleventMdl = function(num){ 
 

 
     var filtersModal = $modal({ 
 
      backdrop:true, 
 
      placement:'top', 
 
      templateUrl : filterTemps[num], 
 
      controller : 'filterCtrl', 
 
      show: false 
 
     }); 
 

 
     filtersModal.$promise.then(filtersModal.show); 
 
    };
<!-- trigger the function for call modal --> 
 
<ul class="nav navbar-nav"> 
 
    <li> 
 
    <a href="" ng-click="showReleventMdl(0)" ng-bind="string.pages.form.estateType"></a> 
 
    </li> 
 
    ... 
 
</ul> 
 
-------------------------------------------------- 
 
<!-- my Modal Template --> 
 
<div class="modal-body"> 
 

 
       <ul class="filterList"> 
 
        <li class="filterListItem half" ng-repeat="item in string.pages.mainPage.estateTypes"> 
 
         <input id="estateType{{$index}}" ng-click="checked(item)" type="checkbox" class="filterCheck"> 
 
         <label for="estateType{{$index}}" ng-bind="item"></label> 
 
        </li> 
 
       </ul> 
 

 
      </div>

我想知道有沒有什麼辦法來存儲檢查輸入,將其帶回簽入狀態模式? TNKS很多

+1

綁定輸入一些範圍的在你的控制器 –

回答

0

您沒有設置任何值到$ scope對象。試試這個...

<div class="modal-body">  
    <ul class="filterList"> 
    <li class="filterListItem half" ng-repeat="item in string.pages.mainPage.estateTypes"> 
     <input id="estateType{{$index}}" type="checkbox" ng-model="checkbox[$index].checked" class="filterCheck"> 
     <label for="estateType{{$index}}" ng-bind="item"></label> 
    </li> 
    </ul> 

</div> 

然後,在你的控制器中,你可以爲你的複選框值設置$ scope對象。

$scope.checkbox = {}; 
+0

我知道你說的是什麼,但問題是,當我按一下按鈕再次顯示模式我的控制器調用和默認值設置,因爲我裏面定義我的變量這個控制器。 –

+0

@AmirRezvani然後你知道如何解決這個問題。如果將默認數據放入私有變量中,則可以將其與父控制器中創建的$ scope變量進行比較,以存儲用戶輸入。如果用戶輸入變量爲空或未定義,因爲它們以前未打開過模式,請使用私有變量數據填充它。 – buzzsaw

+0

雅,我把這些變量在sessionStorge! TNKS –