2017-01-08 22 views
0

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 
+1

結果のHTMLがクライアントに渡されると、PHPコンポーネントは完全に無関係です。重要なのは、ブラウザに送信される最終的なJavaScriptとHTMLです。 –

+0

[OK]を、私は私の気持ちにかかわらず関連している。 – Retro

+0

私がチャットでくれた行は、私のために働いています:https://jsfiddle.net/2x0wugv6/これはおそらくエラーが他の場所にあることを意味します。何が起こっているかを見るために、phpとjsの両方のデバッグを学んでみてください。問題を絞り込むことができれば、問題はより具体的になります。 – Sheepy

答えて

0

:ここ

は、私がこれまで持っているコードです。 "コードで気付いたのは、" console.log(i + ':' + nesGameIDs [i]) "の行は、以前のループで作成されたものとは異なるネット名です。 15分前にChetan Ranpariya "

それから、それはちょうど後方にあるいくつかのPHPコードのロジックを変更する問題でした。

ありがとうございます。

0

ルックアップは不必要に複雑です。ちょうど:

var nesGameIDsToRemove = $('input:not(:checked)').get().map(el=>el.id); 
関連する問題