ui-disable-choice with function

时间:2017-06-08 04:15:35

标签: angularjs ui-select

我正在尝试使用ui-disable-choice中的函数禁用ui-select中的选项。调用函数似乎不起作用。关于我做错了什么想法?

UI-选择

<ui-select 
            id="affSel--{{seat.sli_no}}"
            class="affSel"
            perf-no ="{{seat.perf_no}}"
            sli-no="{{seat.sli_no}}"
            ng-required="true"
            theme="bootstrap"
            on-select="changedAffiliate(mySeat.seat.sli_no, cartPerf.perf_no, seat.sli_no,seat)">

    <ui-select-match placeholder="-- Select person --">{{$select.selected.fname + ' ' + $select.selected.lname}}</ui-select-match>
    <ui-select-choices repeat="affiliate in affiliates | seatAffTypeFilter:seat.seatAff" 
                        ui-disable-choice="checkDisable(affiliate.customer_no,cartPerf.perf_no, seat.sli_no)">
        <div ng-bind-html="affiliate.fname + ' ' + affiliate.lname"></div>
        <small ng-show="affiliate.disabled">{{AffSelected}}</small>
        <small ng-show="affiliate.validation_pass_age == 'N'">{{invalidAffLbl}}</small>
    </ui-select-choices>
</ui-select>  

功能

$scope.checkDisable = function (customer_no, cur_perf_no, cur_sli_no) {
    $.each($scope.selectedAff, function (i) {
        if (this.customer_no == customer_no && this.perfNo == cur_perf_no && this.sli_no != cur_sli_no) {
            return true;
        } else {
            return false;
        }
    })
}

1 个答案:

答案 0 :(得分:1)

$scope.checkDisable = function (customer_no, cur_perf_no, cur_sli_no) {
    return false; //true;
}

如果这不起作用,则意味着不支持函数类型,但如果它有效,那么您就会遇到代码问题......

主要是你没有捕获$.each函数的结果,从你需要的上下文_.find而不是$.each