【发布时间】:2017-07-01 15:54:44
【问题描述】:
我有这个应用程序,我可以在其中拍照并将图像 URL 保存到 sqlite 中。 我可以添加、删除和显示所有这些,现在我正在尝试从带有 ids 的数据库中选择多个(图像)并删除选定的那些
$scope.selected = [];
$scope.deleteMultiple = function(){
var selectedImages = [];
angular.forEach($scope.selected, function(isSelected, index) {
if(isSelected)
selectedImages.push($scope.images[$index])
$scope.delete(selectedImages.id)
})
console.log(selectedImage)
}
$scope.add = function(path) {
if (imagesP != null) {
$cordovaSQLite.execute(db, "INSERT INTO imageTable (images) VALUES(?)", [path] );
}
alert("Inserted.");
},
function(e) {
alert(e);
};
$scope.delete = function(id) {
if (id != '') {
$cordovaSQLite.execute(db, "DELETE FROM imageTable WHERE id=?", [id]);
}
alert("Deleted.");
$scope.ShowAllData();
},
function(e) {
alert(e);
};
$scope.getImgIDbyName = function(name) {
console.log('[getImgIDbyName] - get image with name: ' + name );
var sql = "SELECT * FROM imageTable WHERE image = '" + name + "';";
console.log(sql);
$cordovaSQLite.execute(db,
sql
).then(
function(res) {
if (res.rows.length > 0) {
if (res.rows.length > 1) {
console.log('[getImgIDbyName] - OOPS more than 1 image returned!!!! ' + name );
} else {
$scope.delete (res.rows.item(0).id);
}
} else {
console.log('[getImgIDbyName] - no image found with name: ' + name );
}
},
function(error) {
alert("error occured: " + error.message);
}
);
}
HTML
<div ng-repeat="image in images " > <!-- container -->
<div>
<img ng-src="{{image.image}}" style="width: 70%; height: 80%;" ng-class="{'selected-image': selected[$index]}" ng-click="selected[$index] = !selected[$index] />
<div ng-click="getImgIDbyName(image.image)">
<div style="font-size:2rem;margin:0.5rem 0 1rem" > DELETE IMAGE (ID:{{image.id}}) </div>
</div>
</div>
</div>
</ion-scroll>
【问题讨论】:
-
描述问题。“它不起作用”不是问题陈述。
-
什么是“现在我正在尝试选择多行”,如何?
-
@ItsikMauy 有多个图片 URL ,然后删除选中的那些
-
@georgeawg 我正在尝试从 sqlite 数据库中选择多行(图像),然后删除选定的行
标签: angularjs sqlite cordova ionic-framework