2015-05-15 21 views
0
<div class="card"> 
    <label class="item item-input"> 
     <span class="input-label">Completed</span> 
     <div class="button-bar"> 
     <button class="button" ng-click="setActive('Yes')" ng-class="{'button-positive': isActive('Yes')}">Yes</button> 
     <button class="button" ng-click="setActive('No')" ng-class="{'button-positive': isActive('No')}">No</button> 
     </div> 
    </label> 
    </div> 


.controller('CompleteWorkOrderController', function($scope, $http) { 
    $scope.active = 'No'; 

    $scope.setActive = function(value){ 
     $scope.active = value; 
    } 

    $scope.isActive = function(value){ 
     return value === $scope.active; 
    } 
}); 

由於某種原因,無論我做什麼,兩個按鈕都會將值'Yes'發送給setActive()函數。無法通過ng-click來獲得兩個不同的按鈕來調用兩個不同的函數

代碼直接從這個簡單和功能Plunker拉,我根本不明白什麼是錯的。如果我將它轉儲到我自己的Plunker中,它也可以正常工作。

任何想法?我現在真的很神祕。

.state('tab.complete-work-order', { 
    url: '/complete-work-order/:workOrderId', 
    views: { 
    'tab-timesheet': { 
     templateUrl: 'timesheet/templates/complete-work-order.html', 
     controller: 'CompleteWorkOrderController' 
    } 
    } 
}) 

這是控制器如何設置到此頁面。它似乎工作正常,因爲函數被調用。

+0

我們可以得到一個鏈接到你的破碎撬?在標記中你在哪裏設置ng-controller =「CompleteWorkOrderController」? –

+0

這個plunker工作正常,它在我自己的代碼中不能正常工作。我沒有在標記中設置ng-controller,我只是使用路由器來獲得正確的控制器。函數被調用,它只是使用第一個按鈕上設置的值。我確定沒有任何奇怪的HTML重疊,它實際上是單擊第一個按鈕。 – Hoser

回答

4

原來它是:

<label class="item item-input"> 

我猜離子藉此意味着整個事情是一個單一的輸入,並以某種方式只使用從第一個按鈕的價值?

不知道這是怎麼發生的,但至少解決了神祕。

+0

即使只有

0

可能會在瀏覽器中緩存html頁面,清除緩存並重試。

+0

不幸的是,不是。我真的無法理解這裏發生了什麼 – Hoser

+0

我看不到代碼中任何地方的問題。嘗試更改html文件名以檢查行爲。我相信它應該是緩存的東西,因爲您正確地將控制器連接到模板。祝你好運。 – seenimurugan

相關問題