2015-07-20 88 views
1

所以我有一個json對象和一個編輯按鈕。我想知道如何禁用該編輯按鈕,如果該值不等於彼得,以便用戶不能編輯它。禁用基於json值的按鈕

angular.module('app') 

.factory('WebApi', function() { 

//Dummy Data 
var name = [{ 
     value: "Peter", 
     text: "Peter" 
    }, { 
     value: "John", 
     text: "John" 
    }, { 
     value: "Lucy", 
     text: "Lucy", 
    }, { 
     value: "Hawk", 
     text: "Hawk" 
    }]; 

var tempData = []; 

//Display 100 item 
for (var i = 0; i < 100; i++) { 

    var selectedName = name[Math.floor((Math.random() * name.length))]; 

    tempData.push({ 
    name: selectedName.text 


    }) 
}; 

constants.js

angular.module('app') 

.factory('Constants', function() { 

    return { 
     status: { 
      Peter: 'Peter' 
     } 
    }; 

}); 

按鈕

<ion-list can-swipe="listCanSwipe"> 
          <ion-item ng-repeat="data in tempData" 
             item="data"> 
           Name: {{data.name}} 

           <ion-option-button class="button-calm" 
                ng-click="edit(data)"> 
            Edit 
           </ion-option-button> 

          </ion-item> 

         </ion-list> 
+0

您需要添加更多的細節。就像你看法中的數據一樣?另外,你如何處理數組名稱? – nikhil

+0

嗨nikhil,我有var tempData = [];作爲我的數組,並使用「數據」一詞在我的列表視圖中顯示該項目。 這是ng-repeat =「tempData中的數據」。 <離子項目NG重複= 「數據TempData的」 項= 「數據」> –

+0

是命名您的TempData? – nikhil

回答

1

使用NG-禁用: Examlpe: -

<ion-option-button ng-disabled="name.value!='peter'" class="button-calm"ng-click="edit(data)"> 
     Edit 
    </ion-option-button> 
+0

感謝您的幫助,它的工作原理! :) –

0

在HTML中

ng-disabled="someFunction()" 

在您的JS

$scope.someFunction = function() { 

// return true or false. 

};