2016-09-12 55 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

謝謝Avnesh, 你會介意解釋爲什麼這是解決方案? –

+0

Ben David,調用$ timeout的返回值是一個承諾,當延遲過去並且超時函數(如果提供的話)被執行時,這個承諾將被解決。 另一個解決方案是使用$ scope。$ apply(); ($ window.confirm(「Are you sure?」)){scope:$ scope。$ apply();如果($ scope.value.text === true){ if($ scope.value.text === true) $ scope.value.text = false; } } –