2015-03-13 3 views
1

У меня есть этот флажокс помощью angularjs флажка не обновляется после вызова Ajax

  <input type="checkbox" 
      ng-change="defaultMsgsHandler(vuser.use_managed_default_msgs)" 
      ng-model="vuser.use_managed_default_msgs" 
      ng-true-value=1 ng-false-value=0> 

Когда я сделать этот вызов AJAX, флажок не отражает Аякс retured имеет vuser.use_managed_default_msgs значение 1, но флажок не проверено. Я знаю, что модель правильная. vuser.use_managed_default_msgs - это 1, если я сбрасываю vuser на консоль.

messageServices.getMessageSettingsInfo(user.dir) 
        .then(function(data) { 
         if (!data.success) { 
          $scope.errormessage = data.errors; 
         } else { 
          $scope.vuser = data.vuser; 
          $scope.messages = data.messages; 
         } 
        }, function(error) { 
         alert(error); 
        }); 

Если я нажимаю на флажок defaultMsgsHandler правильно изменил модель и проверки флажок и неустановленными.

$scope.defaultMsgsHandler = function(use_managed_default_msgs){ 
     $scope.vuser.use_managed_default_msgs = use_managed_default_msgs; 
    }; 

Спасибо за любую помощь

+0

вы пробовали с помощью $ рамки. $ Применять()? – m0meni

+1

Можем ли мы увидеть пример того, как выглядит data.vuser, когда он возвращается из обещания? Я считаю, что это проблема. – DavidEdwards

+0

Невозможно воспроизвести ~ http://plnkr.co/edit/LqCD349a3DAnk4d4XgpY?p=preview – Phil

ответ

0

Не уверен, если это поможет, но я думаю, что ваш

ng-true-value=1 ng-false-value=0 

должен быть

ng-true-value="1" ng-false-value="0" 
+0

Я думал то же самое, но это, похоже, не имеет значения. – Phil

+2

, если ваш ответ ajax не возвращает строку, а не целое число, поэтому это будет 'ng-true-value =" '1' "' –

+0

А, отличный пикап. Я просто попробовал это и да, если значение является строкой, оно не соответствует значению * true *. Цитирование значений атрибута 'ng-true-value' не изменяется, хотя – Phil

2

Пожалуйста, попробуйте использовать: ng- checked = "условие"

Существует аналогичный вопрос здесь,

How to set checkbox selected on the basis of model value

+1

Этот ответ решает проблему OP :) –

+0

@randy. Решил ли он ваш проблема? –

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