2016-03-16 2 views
0

Когда я проверяю более 2 'или' условий в ng-disabled, это не работает.Angularjs multiple 'OR' не работает

Ниже код не работает должным образом

<button type="button" class="btn btn-primary" ng-click="correctProperty()" ng-disabled="entityPropertyForm.$pristine || propertyCorrected || dropDownChanged">Save</button> 

В приведенной ниже два условия работает отлично.

<button type="button" class="btn btn-primary" ng-click="correctProperty()" ng-disabled="propertyCorrected || dropDownChanged">Save</button> 

<button type="button" class="btn btn-primary" ng-click="correctProperty()" ng-disabled="entityPropertyForm.$pristine || propertyCorrected">Save</button> 

Почему я не смог проверить 3-е условие, и только 2 условия работают отлично? Я пробовал несколько других предложений, таких как «http://jsfiddle.net/8bc24nau/1/»

+0

Почему бы не попытаться связать эти 2 условия для одной переменной, то тест против того, что 1 переменной? Это решило бы проблему. Кроме того, вы могли бы быть более конкретными, когда говорите «это не работает»; Что это значит? Какую ошибку вы получаете? Если это условие 1 не работает, это более чем вероятно проблема с вашим синтаксисом или этим свойством. –

+0

Пробовали ли вы проверять каждое условие отдельно от тестового образца? Было бы, по крайней мере, выяснить, действительно ли все условия соответствуют «истинному» или «ложному» – AGE

+0

, которые я пробовал с каждым условием отдельно, он отлично работает. – SGN

ответ

0

Мое предложение - использовать тег <pre>, чтобы убедиться, что вы получаете значения для записи для каждого поля. Я добавил его к jsfiddle например:

<div ng-app> 
    <input type="checkbox" ng-model="mt0"> 
    <input type="checkbox" ng-model="mt1"> 
    <input type="checkbox" ng-model="mt2"> 
    <pre>mt0={{mt0}}</pre> 
    <pre>mt1={{mt1}}</pre> 
    <pre>mt2={{mt2}}</pre> 
    <button ng-disabled="(mt0||mt1||mt2)">Reassign</button> 
</div> 
+0

Хотя достойные шаги по устранению неполадок, сам по себе это не ответ. –

+1

Вопрос не был достаточно ясным, поэтому я ответил с помощью технологии отладки. –

Смежные вопросы