2015-09-22 2 views
0

У меня есть проблема,AngularJS (-Материал) нг-инвалиды булевой Проблема

У меня есть <md-datepicker>, где вы можете выбрать дату.

У меня есть список выбора, используя

<md-checkbox ng-disabled="!formName.something.stop || !formName.something.start" ng-init="formName.something.action=false"> Action <md-checkbox>

При выборе даты выполнения <md-checkbox> приходит доступны. Поэтому я могу выбрать его. Теперь вот проблема!

(на моей странице)

я выбрать дату, я выбираю <md-checkbox>, то я удалю дату на <md-datepicker>. И нажмите кнопку «отправить», логическое значение все еще выполняется.

Object {start: undefined, stop: undefined, action: true, item: false, broadcast: false…} 

ли кто-нибудь знает способ, когда <md-checkbox> отключен я получаю ложный обратно независимо от того, если он выбран да или нет. Использование чего-то из углового (-материала). Или лучший способ просто использовать java-скрипт?

Если что-то не понятно, что я имею в виду, просто спросите :)

Спасибо за уже читать это!

ответ

0

У вас уже есть логика, чтобы определить, когда включать/отключать этот флажок, поэтому почему бы не повторно использовать эту логику при отправке формы.

Например, в контроллере, вы могли бы иметь что-то вроде этого:

$scope.checkBoxDisabled = checkboxIsDisabled(); 

function checkboxIsDisabled() { 
    return !formName.something.stop || !formName.something.start; 
} 

//Then, on form submit, just check again: 
var formSubmitCheckDisabled = checkboxIsDisabled(): 

А на ваш взгляд, просто ссылки на переменную вы создали:

<md-checkbox ng-disabled="checkBoxDisabled" ng-init="formName.something.action=false"> Action <md-checkbox>