2015-01-25 5 views
0

У меня возникли проблемы с присвоением значения «$ scope.returnPollings [i]» до «plrtn» во время цикла. «$ scope.returnPollings» - это объект с данными, и я могу подтвердить, что в нем есть данные, когда я console.log его.Невозможно присвоить значение переменной - Javascript

db.transaction (function(tx) { 
     var sql = "INSERT INTO STATUSREPLY (reply, name, userCode, icon, target, repliedDate) VALUES (?, ?, ?, ?, ?, ?)"; 
     var len = $scope.returnPollings.length; 
     var plrtn;        
     for (var i = 0; i < len; i++) { 
      plrtn = $scope.returnPollings[i]; // value is not being assigned here 
      tx.executeSql(sql, [plrtn.message, plrtn.name, plrtn.userCode, plrtn.qWink, plrtn.target, plrtn.createdDate ], 
       function(){ 
         $scope.$apply(function(){ 
          $scope.returnFstatus.push({ 
           'message':$scope.ie.message, 
           'createdDate':$scope.ie.createdDate, 
           'icon':$scope.ie.qWink, 
           'target':$scope.ie.target 
            }); 
          })         
        console.log('Status Inserted'); 
      },function(tx, error) { 
       console.log('polling INSERT ERROR: ' + error.message); 
           }); 
          } 

});

Я буду рад, если кто-нибудь может помочь мне

+0

вы можете утешать войти $ scope.returnPollings.length? – cyan

+0

- это данные в JSON или как строка, mayb e $ .JSON.stringify поможет? Какова структура returnPollings? – cyan

+0

@cyan да. значение 2 –

ответ

1

Ответ, что вы назначаете более одного раза в одной и той же переменной. я хотел бы сделать это так:

plrtn;//without var 
     for (var i = 0; i < len; i++) { 
      delete plrtn; 
      plrtn = $scope.returnPollings[i]; // value is not being assigned here 
+0

Просто будьте осторожны с этой реализацией. Без var plrtn будет назначаться как переменная в глобальной области, поэтому это может повлиять на некоторые ошибки в другой части приложения. Для более подробной информации, пожалуйста, прочитайте ответ на этот вопрос: [Какова функция ключевого слова var и когда его использовать (или опустить)?] (Http://stackoverflow.com/questions/1470488/what-is-the -функции-оф-вар-ключевое слово-и-когда в использовании-он-или-Omit-он) – tomepejo

0

Посмотрите на значение $scope.returnPollings

var plrtn; 
console.log($scope.returnPollings); 
for (var i = 0; i < len; i++) { 

Вы получаете два значения для $scope.returnPollings[0]
В консоли вы должны быть в состоянии видеть два (длина) значения
$scope.returnPollings[0] и $scope.returnPollings[1]

Также

$scope.returnPollings[0].message 
$scope.returnPollings[0].name 
$scope.returnPollings[0].userCode 
$scope.returnPollings[0].q 

$scope.returnPollings[1].message 
$scope.returnPollings[1].name 
$scope.returnPollings[1].userCode 
$scope.returnPollings[1].q 

В вашем SQL вам не нужно использовать plrtn.

Вместо этого вы можете использовать:

$scope.returnPollings[i].message 
$scope.returnPollings[i].name 
$scope.returnPollings[i].userCode 
$scope.returnPollings[i].q 
+0

Я получаю значение, когда я его консолью. когда я console.log $ scope.returnPollings.length я получаю 2 –

Смежные вопросы