Значение кнопки также принимает во время проверки / снятия галочки - PullRequest
0 голосов
/ 16 апреля 2020

Когда я нажимаю кнопку проверки, я нажимаю кнопку Назначить, я получаю значение ["on", "a", "b"], но это не мой ожидаемый результат

Expected output
["a","b"]

var tableElement = $('table');
tableElement.on('change', 'input[type=checkbox]', function(event) {
  var changed = event.target,
    checkboxes = tableElement
    .find('input[type=checkbox]')
    .not('#select-all');

  if (changed.id === 'select-all') {
    checkboxes.prop('checked', changed.checked)
  } else {
    var allChecked = checkboxes.length === checkboxes.filter(':checked').length
    $('#select-all').prop(
      'checked', allChecked
    );

  }
});

$(document.body).on('click','#assign-comments',function(){
var commentIDs =[];
     $("input[type='checkbox']:checked").each(function () {
            commentIDs.push( $(this).val());
        });
console.log(commentIDs);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>monitoring</title>
        
         </head>
        <body>
        <table>
                <tr class="w3-gray" style="width:100%">
                        <th> <input id="select-all"  type="checkbox" name="test[]">checkall</th>
                        <th><span>User name</span></th>
                </tr>

                <tr>
                        <td><input type="checkbox" name ="checklist" value ="a"></td>
                        <td>a@123</td>
                </tr>
                <tr>
                        <td><input type="checkbox" name ="checklist" value ="b"></td>
                        <td>b@123</td>
                </tr>
        </table>


        <button type="button"  id="assign-comments"  >Assign To</button>
        </body>
        </html>

Кто-нибудь, пожалуйста, обновите мой код и объясните, что я делаю неправильно?, на значение откуда? Я старался изо всех сил, но не получил ожидаемого результата.

1 Ответ

0 голосов
/ 16 апреля 2020

Я думаю, что это происходит от самого флажка «проверить все», вероятно, связанного со значением Test []. Самым простым решением было бы сделать явную проверку идентификатора «select-all», если это возможно, чтобы убедиться, что вы его не включаете.

Счастливого кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...