2013-09-26 4 views
2

Почему угловая и фланговая модель не привязаны к checked = "checked". Флажок не установлен после угловых нагрузок. например: http://jsfiddle.net/5CZ74/2/Флажок Angularjs не привязывается к исходному значению

<div ng-app> 
    <form> 
     <input type="checkbox" ng-model="redirect" checked="checked"> 
     <input type="text" ng-disabled="redirect==false"> 
    </form> 
</div> 

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

Спасибо.

ответ

6

Вы не определили redirect в своей модели в любом месте, поэтому он не определен и, следовательно, является ложным. Поэтому флажок не установлен. Если вы хотите его проверить, вам нужно добавить redirect в свою модель и установить его в true. Вы должны иметь контроллер и сделать это:

$scope.redirect = true; 

См http://jsfiddle.net/5CZ74/3/

+1

Так что вопрос в том, что эта модель еще не правильно инициализирован с сервера. С вашим решением флажок всегда проверяется. Я хочу, чтобы он был проверен, если '' 'checked =" checked''' и не отмечен, если этого не существует. – nienaber

+0

Точка углового - это то, что ваше представление (флажок) выведено из модели ($ scope.redirect). Установите значение '$ scope.redirect' в зависимости от того, хотите ли вы установить флажок. Если значение« true », флажок будет установлен. Если значение« false », флажок будет снят без флажка Вы можете даже изменить, какие значения инициируют его проверку и снятие флажка. См. Http://docs.angularjs.org/api/ng.directive:input.checkbox – dnc253

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