2016-09-12 7 views
0

ラジオボタンを作成しようとしています。ユーザーが「アクティブ」をクリックすると、アラートが表示されます。彼がキャンセルをクリックした場合は、元の値にとどまる(または戻る)。 問題は、両方のラジオボタンが「チェックされていません」ということです。それは明らかに望ましい行動ではありません。は、コードでラジオボタンの値を変更できません - angularjs

コード例を添付しました。 code example

ありがとうございます。 ベン。

+0

私にとっては、無効なラジオボタンがチェックされています。おそらくブラウザの問題でしょうか?クロムで試してください.. –

答えて

0

値をfalseに設定する前にタイムアウトを追加します。

var app = angular.module('app', []); 

app.controller('firstCtrl', function($scope,$timeout){ 

$scope.value = { 
    text : false 
}; 
    $scope.checkRadioButton = function() { 
    if ($scope.value.text === true) { 
     if (!window.confirm("Are you sure?")) { 
     $timeout(function(){ 
      $scope.value.text = false; 
     }); 

     } 
    } 
    } 
}); 
+0

アヴネットに感謝、 これが解決策である理由を説明してもらえますか? –

+0

Ben David、$ timeoutをコールすることの戻り値は約束です。これは、遅延が過ぎてタイムアウト関数が提供されていれば解決されます。 $ scopeを使用した別の解決策。$ apply(); { 場合{ $スコープ$(適用)($ scope.value.text === true)の場合(window.confirm( "あなたはよろしいですか?")!)。 $ scope.value.text = false; } } –

関連する問題