簡體   English   中英

如何使用ng-model和ng-repeat傳遞AngularJS中的復選框值

[英]How to pass check box values in AngularJS using ng-model in conjunction with ng-repeat

我有一個頁面,該頁面使用戶能夠通過輸入搜索詞來搜索文章並根據需要過濾結果。

過濾器最初包含多個選擇框,其中的值是從ajax調用中獲取的,並且使用ng-model將選定的值發送回去。 工作正常。

現在,要求將多個選擇框轉換為復選框,而我已經設法創建了該復選框。

當用戶輸入搜索查詢並選中其中一個復選框時,我遇到了問題,我無法在app.js中獲取選定的復選框值來過濾結果。

<div class="col-lg-3">
    <h3 class="m0 pb-lg">Filters</h3>
    <div class="form-group mb-xl">
         <form method="get" ng-controller="SearchController as form" class="form-horizontal">
            <label class="control-label mb">By Type of Study</label><br><label class="checkbox-inline c-checkbox" ng-repeat="s in form.typeOfStudies">
            <input type="checkbox" ng-model="search.typeOfStudy" ng-true-value="'YES'" ng-false-value="'NO'">
                <span class="fa fa-check"></span>{{s}}</input>
            </label>
            <br>
        </form>
    </div>
</div>
</div>

app.js包含:

 $scope.getById = function (id) {
           if (id.typeOfStudy){
            $.each(id.typeOfStudy, function() {
                    if (count < id.typeOfStudy.length) {
                        count++;
                        qTypeOfStudy += "'" + this + "',";
                    }
                    else if (count == id.typeOfStudy.length) {
                        qTypeOfStudy += "'" + this + "'";
                    }
            })
        }
  }

在頁面上的搜索欄中提交主體文本的表單時,會傳遞getById。

我正在使用ng-repeat列表中的某些值作為id,您可以s in form.typeOfStudies中包含s in form.typeOfStudies 像這樣的東西:

<div ng-repeat="modelList in modelsLists">
<input type="checkbox" ng-model="selection.ids[modelList.id]" id="{{modelList.id}}"/>
</div>

在JS中初始化:

$scope.selection = {
        ids: {}
    };

並檢查復選框:

if($scope.selection.ids[id]){
    // do something
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM