2016-08-04 83 views
0

我需要保存的複選框的價值,但它不工作如何獲取價值形態複選框,離子框架

HTML:

<ion-checkbox value="2" checked="true" ng-model="data.agreed"> 
       By selecting this... 
       </ion-checkbox> 

app.js

$http.post(link, { agreed: $scope.data.agreed }); 
+0

你是什麼意思它不工作? –

+0

它沒有得到複選框的值,是否有不同的方式來做到這一點? – velvetInk

+0

在你的控制器中添加這行'$ scope.data = {agree:false};' 然後試試吧。目標是在對任何內容做任何更改之前先初始化此變量。然後你可以使用點擊事件來修改 –

回答

1

儘量遵循任何一個,你會得到解決,

<ion-checkbox ng-checked='data.agreed === "true"' 
       ng-model="data.agreed" 
       ng-true-value="'true'" 
       ng-false-value="'false'" 
> 
By checked value {{data.agreed}} 
</ion-checkbox> 


<ion-checkbox ng-checked='data.agreed === "1"' 
       ng-model="data.agreed" 
       ng-true-value="'1'" 
       ng-false-value="'0'" 
> 
By checked value {{data.agreed}} 
</ion-checkbox> 


<ion-checkbox ng-checked='data.agreed === "yes"' 
        ng-model="data.agreed" 
        ng-true-value="'yes'" 
        ng-false-value="'no'" 
> 
By checked value {{data.agreed}} 
</ion-checkbox> 

如果您可以通過使用NG-改變指令一樣後續調用的函數,

ng-change ="example(data.agreed)" 

然後在控制器寫一個函數像以下,

$scope.example =function(agreed) 
{ 
    console.log(agreed); 
    alert(agreed); 
} 
0

這將適用於你

$http.post(link, { agreed: $scope.data.agreed === 1 ? true: false }) 
+0

這就是問題我在上面詢問 – velvetInk

+0

最初它不清楚,這就是爲什麼我提出後續問題的原因,我希望這可以回答你的問題 –

+0

這是行不通的我仍然得到1 – velvetInk

0

試試這個

在你看來

<ion-checkbox ng-model = "isChecked" ng-change = "isSalesPersonCheck(!isChecked)">Sales Person</ion-checkbox> 

控制器中

$scope.isSalesPersonCheck = function(a){ 
    if(a == false) 
    $scope.isChecked = true 
    else 
    $scope.isChecked = false//: isChecked is true when checked, false when not 
    alert($scope.isChecked) 
}