Показать сообщение отдельно
  #1 (permalink)  
Старый 06.05.2018, 08:41
Интересующийся
Отправить личное сообщение для booratina Посмотреть профиль Найти все сообщения от booratina
 
Регистрация: 06.05.2018
Сообщений: 23

Как установить динамического checkbox (jQuery-Сервер-БД)
Получаю данные с сервера (Java-SpringBoot)
в .ajax строю в цикле <td> и <input type="checkbox">
Как сделать чтоб в зависимости от ответа сервера (true/false) ставилась галочка или нет!

var csrfToken = $("meta[name='_csrf']").attr("content");
var csrfHeader = $("meta[name='_csrf_header']").attr("content");


$(document).ready(function () {
    $('.selectView').click(function () {
        var nameNotTrimmed = $(this).text();
        var name = $.trim(nameNotTrimmed);
        console.log(name);

        if ($(this).closest('tr').hasClass('opened')) {
            var trimName = name.replace(/\s+/g, '');
            $('.' + trimName + '').closest('tr').each(function () {
                $(this).remove();
            });
            $(this).closest('tr').find('i').removeClass('fa fa-minus-square-o').addClass('fa fa-plus-square-o');
            $(this).closest('tr').removeClass('opened');
            return;
        }


        $('tr .active').removeClass('active');
        $(this).addClass('active').siblings().removeClass('active');
        $(this).closest('tr').addClass('opened');
        $(this).closest('tr').find('i').removeClass('fa fa-plus-square-o').addClass('fa fa-minus-square-o');

        $.ajax({
            type: "POST",
            url: "/scale_of_size/getValues",
            data: {scaleName: name},
            beforeSend: function (xhr) {
                xhr.setRequestHeader(csrfHeader, csrfToken);
            },
            success: function (data) {
                for (var i = 0; i < data.length; i++) {

                    var trimName = name.replace(/\s+/g, '');
                    var tr = $('.active').closest('tr').index();

                    $('<tr class="shown ' + trimName + '">' +
                        '<td>' + data[i].nameSize + '</td>' +
                        '<td>' + data[i].kitchenSize + '</td>' +
                        '<td><input type="checkbox" class="sizeDef"></td>' +
                        '</tr>').insertAfter($('tr:eq(' + (tr + 1) + ')'));

                    //checkCheckbox(data);
                    $(".sizeDef").prop("checked", data[i].defaultSize);
                }


            },
            error: function (e) {
                alert("error")
            }
        });

    });
});


function checkCheckbox(data) {
    $(".size").prop("checked", data[i].defaultSize);
}




<thead>
            <tr class=".info">
                <th>Название</th>
                <th>Название для кухни</th>
                <th>По умолчанию</th>
            </tr>
            </thead>
            <tbody id="records_table">
            <tr th:each ="scale : ${scale}" >
                <td  th:inline="text" class="selectView"><i class="fa fa-plus-square-o" aria-hidden="true"></i>
                    [[${scale.nameScale}]]
                </td>
                <td></td>
                <td></td>
                <td>
                    <button  class="btn btn-default values" data-toggle="modal" data-target="#values">Добавить значение шкалы</button>
                </td>
            </tr>
            </tbody>
        </table>

Последний раз редактировалось booratina, 06.05.2018 в 10:06.
Ответить с цитированием