これが私がやろうとしていることです。チェックボックスの値を取得し、データベースから対応する値を削除する単純な Java スクリプト コードがあります。赤、青、黄色の 3 つのオプションが表示され、赤が選択されているとします。赤のレコードが削除されます。
このコードはそれを完璧に行います。
var n = $('input[type=checkbox]:checked').val();
db.transaction(function (tx) {
tx.executeSql('delete from details where name = ?',[n],function(){
alert('The event is successfully deleted');
});
});
ただし、複数のチェックボックスの選択もキャプチャする必要があります (つまり、赤と青の両方が選択されているか、3 つすべてが選択されている場合、コードは選択された値のレコードを削除する必要があります)。次のコードを使用して、配列で選択された値をキャプチャできます。
var checkboxValues = $('.myCheckbox:checked').map(function() {
return $(this).val();
}).get();
今度は、SQL ステートメントでこの文字列の配列を使用する必要があります。次のコードを試しましたが、役に立ちませんでした。
db.transaction(function (tx) {
tx.executeSql('delete from details where name in (?)',[checkboxValues],function(){
alert('The event is successfully deleted');
});
他のいくつかの回答は、 toString() および join() 関数を使用して配列オブジェクトをコンマ区切りの文字列に変換することを提案しましたが、それらはあまり役に立ちませんでした。SQL ステートメントが正しいかどうか疑問です。誰か助けてください。前もって感謝します !!