2013-10-27 2 views
0

Предположим, у меня есть две панели в моем highstock, могу ли я удалить одну из динамиков динамически. Поэтому, если я нажимаю на панель, я должен уловить событие вместе с идентификатором панели (yaXis) и впоследствии удалить ось вдоль своей серии. Я добавил панели динамически, как следующее (так что ось у Id и т.д. со мной)Можно ли удалить панель в highstock/highcharts?

chartX.addAxis({ // Secondary yAxis 
        id: studyName, 
        title: { 
         text: studyText 
        }, 
        isX: false, 
        lineWidth: 2, 
        lineColor: '#08F', 
        //opposite: true, 
        top: startHeight, 
        height: 100, 
        offset: 0 
       }); 
       var chartToUpdate=chartX.addSeries({ 
         name: 'ADBE', 
         id: 'studyNew', 
         color: 'black', 
         data: studyData, 
         yAxis: studyName 
        }); 
        $("#selectStudy").append("<option value='"+countNoOfStudiesAdded+"'>"+studyName+"</option>") 
       } 

Можно ли удалить панель, как указано выше. Будет оценен любой другой метод, который может помочь добиться динамического удаления панели.

Спасибо.

ответ

0

OK У меня получилось решение, переделав ... Лучше всего было добавить такие события, чтобы всякий раз, когда я нажимаю на легенду о сериале, его панель удаляется.

var chartToUpdate=chartX.addSeries({ 
         name: 'ADBE', 
         id: studyName, 
         color: 'black', 
         data: studyData, 
         yAxis: studyName, 
         events: { 
          legendItemClick: function(event) { 
           this.yAxis.remove(); 
           countNoOfStudiesAdded--; 
          } 
         } 
        }); 

Если кому-то нужен точный ответ на мой вопрос, тогда решение должно иметь выпадающий список/вариант и кнопку. После нажатия кнопки, мы находим панель для удаления из выпадающего списка, а затем удалить его следующим образом:

$('#remove').click(function() { 
     if($("#selectStudy").val()!=0) { 
      var studyToDelete=chartX.get($("#selectStudy option:selected").text()); 
      while(studyToDelete!=null) { 
       studyToDelete.remove(); 
       $("#selectStudy option:selected").remove() 
       studyToDelete=chartX.get($("#selectStudy option:selected").text()); 
      } 
     } 
    });  

где id из button является remove, id из selection списка является selectStudy. Таким образом, мы обнаруживаем, что все серии, прикрепленные к панели с тем же идентификатором, что и объявление yAxis, удаляют их.

Смежные вопросы