2016-06-11 25 views
1

如何在update上點擊保存按鈕,從select box中選擇新值。如何在點擊保存按鈕時從`選擇框'中選擇`更新'新值?

我使用NG-點擊功能像這樣我的JS功能更新按鈕:

$scope.updateDealDetail = function updateDealDetail(){ 
     $scope.showEditView = !$scope.showEditView; 
     $scope.dealDetail.decisionMakerDetail.email = $scope.selectedid; 
    } 

我的編輯按鈕功能:

$scope.editUserDetail = function editUserDetail(){ 
     $scope.showEditView = !$scope.showEditView; 
     $scope.showSubmitView = !$scope.showSubmitView; 
     deal.getIdData($scope.accountDetail. accountUsers[0].role,$scope.accountDetail.id).then(function successCb(data){ 
      $scope.editIdOptionsData=data; 
      $scope.selectedid = $scope.editIdOptionsData[0].email; 
     }); 
    }; 

和我的比頓點擊HTML是這個樣子:

<select ng-model="selectedid" class="form-control"> 
    <option ng-selected="selectedid" ng-repeat="eiod in editIdOptionsData" value="{{eiod.email}}">{{eiod.email}} 

<button ng-click="updateDealDetail(eoid.email)" ng-disabled="dealDataSaveButtonDisabled">Update</button> 

我想通過使用ng-options來通過ng-repeat來實現這一點,我的數據通過API現在顯示在框中。但是我的數據在第一個索引上只有設置。如何設置選擇框的默認值並通過選擇任何值,onclick需要更新該值。

+1

請描述'我的價值沒有更新' - 預期的結果是什麼?還要添加更多部分,如'getDeal()'功能和視圖代碼 –

+0

我選擇的值沒有保存。 –

+0

請提供有關$ scope.dealDetail對象的信息。 – User2

回答

1

不要使用ngRepeat渲染選項,這是你的問題。正確的代碼是:

<select class="form-control" 
     ng-model="selectedid" 
     ng-options="eiod.email as eiod.email for eiod in editIdOptionsData"> 
</select> 
+0

ngRepeat有什麼問題? –

+0

模型綁定不正確(無法綁定到對象)。 ngRepeat不應該被用來渲染選擇選項。 – dfsq

+0

嘿,你能解釋一下嗎?有什麼需要編寫「eiod.email作爲eiod.email的editIdOptionsData中的eiod」像這樣? –

0

最佳實踐的<select>元素上使用ng-optionsng-modelng-change

在線演示 - https://plnkr.co/edit/Gaa8sMgerRv6chio4iYa?p=preview

HTML

<select 
    ng-model="selectedItem" 
    ng-change="onSelectedItemChanged()" 
    ng-options="item as item.email for item in items"></select> 

JS

app.controller('MainCtrl', function($scope) { 
    $scope.items = [{ 
    email: '[email protected]' 
    }, { 
    email: '[email protected]' 
    }]; 

    $scope.selectedItem = $scope.items[0]; 

    $scope.onSelectedItemChanged = function() { 
    alert('you changed it to ' + $scope.selectedItem.email); 
    } 
}); 
+0

你可以編輯你的代碼,其中有一個按鈕,點擊那個按鈕,我可以保存我的電子郵件ID,這是被選中,請...這對我很有幫助。 –

相關問題