2016-04-20 69 views
0

添加一個新行我有這樣的代碼來遞增公共秩序值有公共秩序的增加值:怎麼每一次我在javascript

$scope.addElement = function (_ordre) { 

     console.log("_ordre 1"+_ordre); 

     if(_ordre == undefined){ 
      _ordre = 0; 


     if(_ordre == 0){ 
      _ordre = (parseInt(_ordre) + 1).toString(); 

     } 

     } 
     console.log("_ordre 2 "+_ordre); 

    console.log("_ordre 3 "+_ordre); 


     var tmpElement = { 
        ordre:(_ordre === undefined) ? (parseInt($scope.finalOperationsList[$scope.finalOperationsList.length-1].ordre) + 1): _ordre, 
        temps : '', 
        designation:'', 
        disable : false 
       }; 

     if ($scope.finalOperationsList.indexOf(tmpElement) == -1) { 
      $scope.finalOperationsList.push(tmpElement); 
      var t = parseInt(_ordre)+1; //_ordre is a string 
      _ordre =t; 
     } 
     console.log("dern "+_ordre); 
    }; 

這是我總是在控制檯時,我嘗試添加新行我的表:

_ordre 1undefined 
_ordre 2 1 
_ordre 3 1 
dern 2 

的問題是,當我試圖在我的表,每次添加一個新行蒙山一個增量公共秩序,我得到這樣的結果在控制檯(我被困在1個值ofddre)

那麼我該如何請更正我的代碼,每次添加新行時都要增加ordre的值?

感謝您的幫助。

更新: 感謝zerohero先生您的回覆,但總是同樣的問題,這是我做的,根據您的回覆:

$scope.addElement = function (_ordre) { 

     console.log("_ordre 1"+_ordre); 

     if(_ordre == undefined){ 
       _ordre = 0; 
     } 

     _ordre = (parseInt(_ordre) + 1).toString(); 

     console.log("_ordre 2 "+_ordre); 

     _ordre = (parseInt(_ordre) + 1).toString(); 
     console.log("_ordre 3 "+_ordre); 


     var tmpElement = { 
        ordre:(_ordre === undefined) ? (parseInt($scope.finalOperationsList[$scope.finalOperationsList.length-1].ordre) + 1): _ordre, 
        temps : '', 
        designation:'', 
        codeOperation : 0, 
        disable : false 
       }; 

     if ($scope.finalOperationsList.indexOf(tmpElement) == -1) { 
      $scope.finalOperationsList.push(tmpElement); 


     } 
     console.log("dern "+_ordre); 
    }; 

我總是得到行「公共秩序」值equl 2 想念我在代碼中的任何東西? 再次感謝您的幫助

回答

1

時_orde未定義這隻會觸發一次,設置_orde爲1:

if(_ordre == undefined){ 
      _ordre = 0; 
     if(_ordre == 0){ 
      _ordre = (parseInt(_ordre) + 1).toString(); 

     } 
} 

然後,您可以連續輸出這樣的:

console.log("_ordre 2 "+_ordre); 
console.log("_ordre 3 "+_ordre); 

由於沒有做出更改去_ordre,在兩種情況下都會顯示1。

唯一的一次,你設置_ordre爲除1以外的其他,是:

var t = parseInt(_ordre)+1; //_ordre is a string 
_ordre =t; 

而發生這種情況後,您將tmpElement的公共秩序爲1

你的邏輯是非常非常錯誤的。

這樣做:

if(_ordre == undefined){ 
     _ordre = 0; 
} 

_ordre = (parseInt(_ordre) + 1).toString(); 

console.log("_ordre 2 "+_ordre); 

_ordre = (parseInt(_ordre) + 1).toString(); 

console.log("_ordre 3 "+_ordre); 
+0

每一行,我把它添加到表中,有一個_ordre = undifined,所以我應該每次新行 – user3821206

+1

你的加入之前增加_ordre的價值將_ordre傳入函數,我假設_ordre被全局保存在某個地方,如果不是這種情況,那麼_ordre將始終以undefined開頭,因爲它在函數調用前的任何位置都沒有被定義爲 – zerohero

+0

yes先生,_ordre總是未定義的,嘗試總是創建一個新的行,有沒有像本地存儲的任何方式來保存_ordre的狀態,如果它等於未定義的或0或1 ...? – user3821206