我有一個帶有NES遊戲標題的數據庫,我正在用附近的複選框顯示遊戲列表。這是一個庫存/跟蹤系統,所以如果你擁有這款遊戲,你可以選中這個盒子。複選框的ID爲'nes#',其中'#'是一個數字(例如,nes1,nes2,nes3 ..)。查找未經檢查的複選框的值
我已經能夠到目前爲止,獲得所有選中的複選框的列表,然後將id(複選框的值)保存到一個Javascript數組中。
因此,考慮到這一點,我想現在做相反的事情,並獲取所有未選中的複選框的列表,然後將該列表保存到數組中。認爲這很簡單。
總體目標是如果用戶沒有更長時間擁有該遊戲,則能夠從數據庫中刪除記錄。因此,在這種情況下,用戶將取消選中該框,然後點擊保存。點擊保存後,代碼會查看未檢查框/ 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
請刪除PHP組件,一旦生成的HTML傳遞給客戶端,它們完全不相關;最重要的是發送給瀏覽器的最終JavaScript和HTML。 –
好吧,留下我覺得是相關的,但。 – Retro
我在聊天中給出的代碼適用於我:https://jsfiddle.net/2x0wugv6/這意味着錯誤可能在其他地方。嘗試學習調試,php和js,看看發生了什麼。如果你能縮小這個問題的範圍,那麼問題會更具體。 – Sheepy