Некоторые поля ввода не очищаются при втором нажатии Angularjs - PullRequest
1 голос
/ 02 апреля 2019

Уважаемые, я сделал функцию javascript, когда флажок установлен, чтобы включить некоторые контроллеры, и когда снят флажок, отключить одни и те же контроллеры и очистить их данные, он отлично работает только при первом щелчке, что означает, что если я установлю флажок и выберу данные,затем снимите флажок, чтобы очистить данные из полей ввода и скрыть указатель даты и времени.НО, если установить флажок во второй раз и выбрать данные, затем снять флажок, он не очищает данные, но скрывает средство выбора времени.

HTML

 <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 margin-bottom-10 padding-none">
                                <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">
                                    <div class="form-group">
                                        <div class="form-check margin-top-30">
                                            <label>
                                                <input ng-model="attend" type="checkbox" name="check" ng-change="checkattendance()"> <span class="label-text">Attendance Time</span>
                                            </label>
                                        </div>
                                    </div>
                                </div>

                                <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">
                                    <div class="form-group">
                                        <div class="col-xs-12">
                                            <label class="control-label" for="name">Operator<span class="danger">*</span></label>
                                        </div>
                                        <div class="col-xs-12">
                                            <select ng-disabled="!attend" ng-show="lang==0" class="form-control input-sm" ng-model="opinname" ng-options="o.opid as o.openm for o in Operator"></select>
                                            <select ng-disabled="!attend" ng-show="lang==1" class="form-control input-sm" ng-model="opinname" ng-options="o.opid as o.opanm for o in Operator"></select>
                                        </div>
                                    </div>
                                </div>

                                <div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
                                    <div class="form-group">
                                        <div class="col-xs-12">
                                            <label class="control-label" for="name">From <span class="danger">*</span></label>
                                        </div>
                                        <div class="col-xs-12 date">
                                            <div id="timeform1" class="input-append date">
                                                <input data-format="hh:mm:ss" type="text" class="form-control" ng-disabled="!attend" ng-model="from2">
                                                <span class="add-on" >
                                                    <i data-time-icon="icon-time"id="icon1" data-date-icon="icon-calendar" ng-show="attend">
                                                    </i>
                                                </span>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                                <div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
                                    <div class="form-group">
                                        <div class="col-xs-12">
                                            <label class="control-label" for="name">To <span class="danger">*</span></label>
                                        </div>
                                        <div class="col-xs-12 date">
                                            <div id="timeto1" class="input-append date">
                                                <input data-format="hh:mm:ss" type="text" class="form-control" ng-disabled="!attend" ng-model="to2">
                                                <span class="add-on">
                                                    <i data-time-icon="icon-time" data-date-icon="icon-calendar" ng-show="attend">
                                                    </i>
                                                </span>
                                            </div>
                                        </div>
                                    </div>
                                </div>

Угловая js

$scope.checkattendance = function () {
        if ($scope.attend == true) {

            $('#timeform1').datetimepicker({
                pickTime: true, pickDate: false
            });
            $('#timeto1').datetimepicker({
                pickTime: true, pickDate: false
            });
        }
        else  {
            $scope.opinname = '';
            $scope.from2 = '';
            $scope.to2 = '';
            $scope.apply();

        }

    }

почему ng-model = from2 и ng-model = to2 не связаны, и очищают данные любой помощью, заранее спасибо

1 Ответ

0 голосов
/ 02 апреля 2019

Одна проблема состоит в том, что ваша текущая функция checkattendance не меняет логическое значение ухода, она должна переключать состояние с true на false или false на true каждый раз, когда флажок изменяется, одна простая модификация - изменить функцию и добавить $scope.attend =!$scope.attend; либо в начале, либо в конце функции. Примерно так:

$scope.checkattendance = function () {
    $scope.attend =!$scope.attend;
    if ($scope.attend == true) {

        $('#timeform1').datetimepicker({
            pickTime: true, pickDate: false
        });
        $('#timeto1').datetimepicker({
            pickTime: true, pickDate: false
        });
    }
    else  {
        $scope.opinname = '';
        $scope.from2 = '';
        $scope.to2 = '';
        $scope.apply();

    }

}

Вы должны также связать выбранное состояние флажка с этим логическим значением, например, checked=attend

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...