Страница с изменяемым флажком - PullRequest
0 голосов
/ 07 мая 2020

У меня есть страница с 12 флажками один раз в час, дисплей в порядке, пытаясь запустить событие изменения для каждого, я могу добавить 24 из них, но ищу лучший способ, это то, что я пробовал, и не работает .


 <script>
 $(document).ready(function(e) {
     var i = 0;
     while ( i < 23) 
     {
         $('#' + i).change(function(){
             if( $('#'+ i).prop('checked') )
                {checkboxstatus = "YES";}
                else
                {checkboxstatus = "NO";}
         $.ajax({
                 type: "POST",
                 url: "timepost.php",
                 data: {checkbox: i ,user: <?php echo $iduser; ?>, checkboxstatus: checkboxstatus},
                 })
                 //.done(function(data, textStatus, jqXHR){alert(textStatus);})
                 //.fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
         });//end change
         i++;
     }
 });//end ready
 </script>

     <?php include 'footer.php'; ?>
     </body>
 </html>
 <?php
     function tr($row,$hr)
     {
         if ($row) 
             {
                 $checked = "checked";
             }
             else
             { 
                 $checked = "";
             }
         print ("<td><input type=\"checkbox\" id=\"" . $hr . "\" name=\"" . $hr . "\" " . $checked . "></td>\r\n");
     }
 ?>

1 Ответ

0 голосов
/ 07 мая 2020

Нет необходимости долго ждать l oop здесь, jQuery может найти для вас все элементы. Прикрепленный код должен работать

<script>
 $(document).ready(function(e) {
         // jQuery will find all elements with class checbox-class
         $('.checkbox-class').on('change', function(){
             if ($(this).prop('checked')) {
                checkboxstatus = "YES";
              } else {
                checkboxstatus = "NO";
              }
              $.ajax({
                 type: "POST",
                 url: "timepost.php",
                 data: {checkbox: $(this).attr('id') ,user: <?php echo $iduser; ?>, checkboxstatus: checkboxstatus},
                 })
                 //.done(function(data, textStatus, jqXHR){alert(textStatus);})
                 //.fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
         });//end change
         
 });//end ready
 </script>

     <?php include 'footer.php'; ?>
     </body>
 </html>
 <?php
     function tr($row,$hr)
     {
         if ($row) 
             {
                 $checked = "checked";
             }
             else
             { 
                 $checked = "";
             }
         print ("<td><input type=\"checkbox\" class=\"checkbox-class\" id=\"" . $hr . "\" name=\"" . $hr . "\" " . $checked . "></td>\r\n");
     }
 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...