Показать сообщение отдельно
  #1 (permalink)  
Старый 09.11.2016, 21:37
Новичок на форуме
Отправить личное сообщение для Marius90 Посмотреть профиль Найти все сообщения от Marius90
 
Регистрация: 08.11.2016
Сообщений: 3

Сократить код.
Приветствую! При помощи библиотеки "jQuery maphilight" написал скрипт, который при клике на определенный чекбокс подсвечивает область на схеме и выделяет определенным стилем строку в таблице с описанием данной области. Код получился однотипный, но я не пойму как его сократить. Буду рад любой помощи.

$(function() {
        $('.map').maphilight({
            fillColor: '008800'
        });
        

          $("#check1").click(function(e) {
            var row = $(this).parent().parent();
            var id = row.attr("id");
            var data = $("#lot").mouseout().data('maphilight') || {};
            data.alwaysOn = !data.alwaysOn;
            
            if (this.checked) {
                 row.addClass("selected");
                 $("#lot").data('maphilight',       data).trigger('alwaysOn.maphilight');
            } else {
                  row.removeClass("selected");
               $("#lot").data('maphilight', data).trigger('alwaysOn.maphilight');
            }
        });

            $("#check2").click(function(e) {
            var row = $(this).parent().parent();
            var id = row.attr("id");
            var data = $("#lot1").mouseout().data('maphilight') || {};
            data.alwaysOn = !data.alwaysOn;
            
            if (this.checked) {
                 row.addClass("selected");
                 $("#lot1").data('maphilight', data).trigger('alwaysOn.maphilight');
            } else {
                  row.removeClass("selected");
               $("#lot1").data('maphilight', data).trigger('alwaysOn.maphilight');
            }
        });

          $("#check3").click(function(e) {
            var row = $(this).parent().parent();
            var id = row.attr("id");
            var data = $("#lot2").mouseout().data('maphilight') || {};
            data.alwaysOn = !data.alwaysOn;
            
            if (this.checked) {
                 row.addClass("selected");
                 $("#lot2").data('maphilight', data).trigger('alwaysOn.maphilight');
            } else {
                  row.removeClass("selected");
               $("#lot2").data('maphilight', data).trigger('alwaysOn.maphilight');
            }
        });
          $("#check4").click(function(e) {
            var row = $(this).parent().parent();
            var id = row.attr("id");
            var data = $("#lot3").mouseout().data('maphilight') || {};
            data.alwaysOn = !data.alwaysOn;
            
            if (this.checked) {
                 row.addClass("selected");
                 $("#lot3").data('maphilight', data).trigger('alwaysOn.maphilight');
            } else {
                  row.removeClass("selected");
               $("#lot3").data('maphilight', data).trigger('alwaysOn.maphilight');
            }
        });
    });
Ответить с цитированием