Как проверить, если ng-show имеет значение true, тогда сделайте что-нибудь в angularjs

0
<div class ="container" ng-show="mbrscemployee=='yes'">
    <span class="btn">click<span>
</div>
<button class="submit">submit</button>

Когда кто - то нажмите button тег, он будет проверять, если ng-show является true, то span будет нажата автоматически.

  • 0
    Несмотря на ваш неясный английский, пожалуйста, постарайтесь сделать себя более понятным. Трудно понять, что вы имеете в виду / пытаетесь достичь?
  • 0
    Что происходит, когда вы нажимаете кнопку? Он также должен иметь атрибут ng-click. Кроме того, если вам нужно несколько раз проверить mbrscemployee=='yes' стоит создать функцию.
Теги:

3 ответа

1
Лучший ответ

Если вы хотите, чтобы событие клика включалось в элемент span, после нажатия button, когда ng-show истинно:

DOM:

<div class="container" ng-show="mbrscemployee=='yes'">
    <span id="myspan" class="btn">click<span>
</div>
<button ng-click="btnClick()" class="submit">submit</button>

контроллер:

$scope.btnClick = function() {
    if ($scope.mbrscemployee == 'yes') {
        angular.element('#myspan').triggerHandler('click');
    }
}

Изменение: Хотя, следующий подход имеет смысл:

DOM

<div class="container" ng-show="mbrscemployee=='yes'">
    <span ng-click="spanClick()" id="myspan" class="btn">click<span>
</div>
<button ng-click="btnClick()" class="submit">submit</button>

контроллер:

$scope.spanClick = function() {
    // do something
}

$scope.btnClick = function() {
    if ($scope.mbrscemployee == 'yes') {
        $scope.spanClick();
    }
}
  • 0
    Почему бы не добавить ngClick в span напрямую? Это смешивание угловых и jQuery методологий.
  • 0
    Я согласен с вами на 100%. Тем не менее, вот как я интерпретирую вопрос @ ahmdabos: « [...] тогда промежуток будет нажиматься автоматически »
Показать ещё 1 комментарий
1

Просто проверьте условие, ngShow использует ngShow:

<div class ="container" ng-show="mbrscemployee=='yes'">
    <span class="btn">click<span>
</div>
<button ng-click="foo()" class="submit">submit</button>

И контроллер:

$scope.foo = function() {
    if ($scope.mbrscemployee == 'yes') {

    }
}
  • 0
    Круто, на месте :)
  • 0
    как мы можем дать порядок промежутков для автоматического нажатия внутри if () {}
0

вы можете написать ng-click = "someFunction" на кнопке submit, которая будет проверять вашу переменную $ scope.mbrscemployee, и вы можете вызывать последующую функцию оттуда.!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню