2017-01-25 12 views
0

私のプロジェクトの更新機能は現在作業中です。 グループのドロップダウンリストがあります。私は、上記のドロップダウンの現在の選択された値/オプションを表示したい。値はSQLiteデータベースから取得されます。以下のコードは、データベースから取得したオプションのみを表示しますが、現在選択されている値は表示しません。データベースから現在選択されている値をドロップダウンリストに表示するには

HTML:

 <select name="groups" ng-model="memProfAdd.groups"> 
       <option ng-repeat="group in memGroups" value="{{group.id}}"> 
        {{group.name}} 
       </option> 
     </select> 

JS:そのために

//DROPDOWN: Member Groups 
    var query = "SELECT id, name FROM groups"; 
    $cordovaSQLite.execute(db, query, []).then(function(res){ 
    if (res.rows.length > 0) { 
     for (var i=0; i < res.rows.length; i++) { 
     $scope.memGroups.push(res.rows.item(i)); 
     } 
    } 
    }, function(err){ 
    $cordovaToast.showShortBottom('Something Went Wrong').then(function(success){}, function(err){}); 
    console.log(err.message); 
    }); 
+0

を? – Sravan

+0

また、ドロップダウンにも表示したいと思います。たとえば、現在選択されている値(データベースから取得)はグループ1、表示/選択されたオプションも「グループ1」 –

答えて

0

、あなたは$scope.memProfAdd.groups最初にいくつかの値を割り当てる必要があります。

//DROPDOWN: Member Groups 
    var query = "SELECT id, name FROM groups"; 
    $cordovaSQLite.execute(db, query, []).then(function(res){ 
    if (res.rows.length > 0) { 
     for (var i=0; i < res.rows.length; i++) { 
     $scope.memGroups.push(res.rows.item(i)); 
     } 
     $scope.memProfAdd.groups = $scope.memGroups[0].id; 
    } 
    }, function(err){ 
    $cordovaToast.showShortBottom('Something Went Wrong').then(function(success){}, function(err){}); 
    console.log(err.message); 
    }); 
+0

その次のステップは何ですか? –

+0

あなたはそのコードの後に​​選択された値を得ましたか? – Sravan

+0

私のhtmlコードで$ scope.memProfAdd.groups = $ scope.memGroups [0]の値をどのように呼び出すのですか? –

0

これが私の仕事:

HTML

<label class="item item-input item-select"> 
      <span class="input-label"> 
       <b>Religion</b> 
      </span> 
      <select name="religions"> 
       <option selected>{{currentReligion.name}}</option> 
       <option ng-repeat="religion in otherReligions" 
       value="{{religion.id}}"> 
        {{religion.name}} 
       </option> 
      </select> 
     </label> 

JS:あなたが現在選択された値を表示したい

//Get selected current religion 
    $scope.currentReligion = []; 
    var query = "SELECT religions.name FROM members " 
    + "INNER JOIN religions ON members.religion_id=religions.id WHERE members.id=?" 
    $cordovaSQLite.execute(db, query, [$scope.memberID]).then(function(res){ 
    if (res.rows.length > 0) { 
     for (var i=0; i < res.rows.length; i++) { 
     //$scope.religion.push(res.rows.item(i)); 
     $scope.currentReligion = res.rows.item(0); 
     } 
    } 
    }, function(err){ 
    $cordovaToast.showShortBottom('Something Went Wrong').then(function(success){}, function(err){}); 
    console.log(err.message); 
    }); 

    //Get other religions 
    $scope.otherReligions = []; 
    var query = "SELECT religions.name FROM religions WHERE religions.name != ?" 
    $cordovaSQLite.execute(db, query, [$scope.currentReligion]).then(function(res){ 
    if (res.rows.length > 0) { 
     for (var i=0; i < res.rows.length; i++) { 
     $scope.otherReligions.push(res.rows.item(i)); 
     // $scope.currentReligion = res.rows.item(0); 
     } 
    } 
    }, function(err){ 
    $cordovaToast.showShortBottom('Something Went Wrong').then(function(success){}, function(err){}); 
    console.log(err.message); 
    }); 
関連する問題