Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 17.01.2018, 21:28
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,719

weirdjava, обновил пост №9
Ответить с цитированием
  #12 (permalink)  
Старый 17.01.2018, 21:36
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Nexus,
Проблема решена!
Спасибо!

Последний раз редактировалось weirdjava, 17.01.2018 в 22:14.
Ответить с цитированием
  #13 (permalink)  
Старый 18.01.2018, 03:15
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Nexus,
Решил повесить еще обработчики на новую кнопку,все работает;но столкнулся с проблемой, как в данном варианте можно приходящие в строку true и false преобразовать в activate и deactivate?



как вместо false вывести deactivate и соотвтственно true - activate ;

$(document).ready(function() {

    var __getTable_timeout = 0;



    function getTable() {

        clearTimeout(__getTable_timeout);

        $.ajax({

            url: "monitor/all",

        type: "GET",

        dataType: "json",

        success: function(response) {

            var trHTML = '';

            $.each(response, function(key, value) {

                trHTML += '<tr><td>' + value.id + '</td><td>'
                    + value.url + '</td><td>'
                    + value.exceptedHttpResponseCode + '</td><td>'
                    + value.status + '</td><td>'
                    + value.active + '</td>' +
                    '<td><button data-id="' + value.id + '" + value.id + class="btn btn-danger btn-sm delBtn">Delete</td>' +
                    '<td><button data-id="' + value.id + '" + value.id + class="btn btn-danger btn-sm activeBtn">On/Off</td></tr>';

            });

            $('#monitorTable').html(trHTML);

            __getTable_timeout = setTimeout(getTable, 250);

        }

    });

    };

    getTable();



    $("#frm").on("submit", function(event) {

        event.preventDefault();

        $.ajax({

            url: "/monitor/add",

        type: "post",

        data: JSON.stringify({

                'url': $('input[name=url]').val(),

        'exceptedHttpResponseCode': $('input[name=exceptedHttpResponseCode]').val()

    }),

        contentType: "application/json",

        success: getTable,
    });

    });



    $('#monitorTable').on('click','button.delBtn',function(){
        var id = $(this).data('id');

        $.ajax({
            url: '/monitor/delete/' +$(this).data('id'),
        type: 'DELETE',
        dataType: "json",
        success: getTable

    });

    });

    $('#monitorTable').on('click','button.activeBtn',function(){
        var id = $(this).data('id');

        $.ajax({
            url: '/monitor/deactive/' +$(this).data('id'),
            type: 'POST',
            dataType: "json",
            success: getTable

        });

    });
    $('#monitorTable').on('click','button.activeBtn',function(){
        var id = $(this).data('id');

        $.ajax({
            url: '/monitor/active/' +$(this).data('id'),
            type: 'POST',
            dataType: "json",
            success: getTable

        });

    });


});


Простите,если задолбал с этим;просто не могу найти как сделать;

Последний раз редактировалось weirdjava, 18.01.2018 в 03:18.
Ответить с цитированием
  #14 (permalink)  
Старый 18.01.2018, 07:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

var id = $(this).data('id');
$.ajax({
url: '/monitor/delete/' +$(this).data('id'), - тогда это зачем?

Три кнопки используют один и тот же метод различающийся только параметром URL, а значит достаточно иметь один обработчик для всех кнопок.
Ответить с цитированием
  #15 (permalink)  
Старый 18.01.2018, 15:03
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

laimas, понимаю,что это не очень правильно,но как при таком варианте можно сделать что бы вместо false и true выводилось activate и deactivate?
Ответить с цитированием
  #16 (permalink)  
Старый 18.01.2018, 15:04
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,719

(true?'de':'')+'activate'
Ответить с цитированием
  #17 (permalink)  
Старый 19.01.2018, 08:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от weirdjava
как при таком варианте можно сделать что бы вместо false и true выводилось activate и deactivate?
Можно и так

['deactivate', 'activate'][+Boolean] - где Boolean булево значение.

Что касается кода, то все же просто - кнопки определены, а значит можно определить и параметры, которые использует единый обработчик. Вот только как понять, что у кнопки .activeBtn два обработчика, но с разными адресами запроса (строки 89 и 101)? Тут явно ошибка.

По идее кнопкам можно задать (отмеченное красным это как понимать?):

<button data-adr="delete/' + value.id+ '" data-type="DELETE" + value.id + class="btn btn-danger btn-sm delBtn">Delete</td>

и другим соответственно. И единый обработчик:

$('#monitorTable').on('click', 'button', function(){
        $.ajax({
            url: '/monitor/' +$(this).data('adr'),
        type: $(this).data('type'),
        dataType: "json",
        success: getTable
     });
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается изменить цвет шрифта hardway jQuery 2 23.08.2017 13:06
Не получается адаптировать код pricebody Общие вопросы Javascript 2 18.03.2016 20:03
Не получается прикрутить wysiwig Bloiv AJAX и COMET 1 22.06.2012 20:52
dataTables + jeditable не получается сделать поля редактируемыми alekslkta Элементы интерфейса 0 02.05.2011 16:17
dataTables + jeditable не получается сделать поля редактируемыми alekslkta jQuery 0 01.05.2011 23:53