NESのゲームタイトルを持つデータベースがあり、その近くにチェックボックスが表示されています。それは在庫/追跡システムなので、ゲームを所有している場合はチェックボックスをオンにします。チェックボックスのIDは 'nes#'で、 '#'は数字です(例:nes1、nes2、nes3 ..)。チェックされていないチェックボックスの値を確認
これまでチェックされているすべてのチェックボックスのリストを取得し、そのID(チェックボックスの値)をJavascript配列に保存することができました。
これを念頭に置いて、私は今反対を行い、チェックされていないすべてのチェックボックスのリストを取得し、そのリストを配列に保存したいと考えました。それは簡単だろうと思った。
全体の目的は、ユーザーがそのゲームを所有していない場合、データベースからレコードを削除できるようにすることです。したがって、この場合、ユーザーはボックスをオフにして[保存]を押します。 saveを押すと、コードはチェックされていないボックス/ idのリストを調べ、それがデータベースに存在する場合、ユーザーがゲームを所有していないので削除します。
これを行うより良い方法がある場合は、私は提案にも公開しています。チェタンの問題は、私はコード内の誤った配列を参照され、それが破壊されたということでした、気づいたよう
//CHECK FOR REMOVED ITEMS
var x = 1;
var nesGameIDsToRemove = new Array();
//nesGameIDsToRemove = [].filter.call($('input[id^=nes]'), e => ! e.checked).map(e => e.value);
while (x <= <?php echo $nesCount; ?>){
//check each NES checkbox
if (!$('#nes' + x).is(":checked")){
console.log($('#nes' + x).val());
nesGameIDsToRemove.push($('#nes' + x).val());
}
x++;
}
for (var i = 0; i < nesGameIDsToRemove.length; ++i) {
console.log(i + ': ' + nesGameIDs[i]);
$.post('updateInventory.php', {'gameID': nesGameIDsToRemove[i], 'userID': <?php echo $profileID; ?>, 'mode': 2, 'console': "NES"}, function (response) {
$('#inventoryResults').html(response);
});
}
//Break in code
<input type='checkbox' id='nes1' name='nes1' value='1'>10 Yard Fight(1)<br>
<input type='checkbox' id='nes2' name='nes2' value='2'>1942(2)<br>
<input type='checkbox' id='nes3' name='nes3' value='3'> ..... continued
結果のHTMLがクライアントに渡されると、PHPコンポーネントは完全に無関係です。重要なのは、ブラウザに送信される最終的なJavaScriptとHTMLです。 –
[OK]を、私は私の気持ちにかかわらず関連している。 – Retro
私がチャットでくれた行は、私のために働いています:https://jsfiddle.net/2x0wugv6/これはおそらくエラーが他の場所にあることを意味します。何が起こっているかを見るために、phpとjsの両方のデバッグを学んでみてください。問題を絞り込むことができれば、問題はより具体的になります。 – Sheepy