我目前正在处理项目的更新功能。 我有群组的下拉列表。我想显示所述下拉列表的当前所选值/选项。该值将从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 :(得分: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);
});
答案 1 :(得分: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);
});