Почему я не могу получить значения флажков в этой таблице html, используя jQuery? - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть таблица, где у меня есть несколько флажков, но когда я выбираю их и нажимаю «Отправить», это ничего не делает. Самое странное, что если я помещу теги внутрь так, как они предполагают, что это не работает, я не смогу передать какие-либо значения:

            <thead>
              <tr>
                <th><input type="checkbox" name="select_all" value="1" id="example-select-all"></th>
                <th>Dev.no</th>
                <th>IMEI</th>
                <th>Serial no.</th>
                <th>Barcode</th>
                <th>Device</th>
                <th>Date added on stock</th>
                <th>Report comment</th>
              </tr>
            </thead>

НО, если я размещу теги снаружи, то это сработает, я Я могу получить значения ОДНАКО таблица теряет нумерацию страниц:

        <tr>
            <thead>
                <th><input type="checkbox" name="select_all" value="1" id="example-select-all"></th>
                <th>Dev.no</th>
                <th>IMEI</th>
                <th>Serial no.</th>
                <th>Barcode</th>
                <th>Device</th>
                <th>Date added on stock</th>
                <th>Report comment</th>
            </thead>
        </tr>

Есть идеи, почему происходит такое странное поведение? Что я здесь не так делаю?

ОБНОВЛЕНИЕ: jQuery код ниже

   <script>
    $(document).ready(function() {
        $('#example').DataTable({
            'columnDefs': [{
                'targets': 0,
                'searchable': true,
                'orderable': true,
                'className': 'dt-body-center'

            }]
        });
    });      

    $('#frm-example').on('submit', function(e) {
        var form = this;
        table.$('input[type="checkbox"]').each(function() {
            if (!$.contains(document, this)) {
                if (this.checked) {
                    $(form).append(
                        $('<input>')
                        .attr('type', 'hidden')
                        .attr('name', this.name)
                        .val(this.value)
                    );
                }
            }
        });
    });
</script>
...