2015-07-14 4 views
1

Я использую jQuery Gantt api, и хочу получить доступ к определенным элементам, но я не знаю, как это сделать.Как я могу получить доступ к элементам объекта в javascript?

$(function() { 

     "use strict"; 
     //var obj = JSON.parse($(".gantt").gantt); 
     $(".gantt").gantt({ 
      source: [{ 
       name: "Sprint 0", 
       desc: "Analysis", 
       values: [{ 
        from: "/Date(1320192000000)/", 
        to: "/Date(1322401600000)/", 
        label: "Requirement Gathering", 
        customClass: "ganttRed" 
       }] 
      }], 
      navigate: "scroll", 
      scale: "weeks", 
      maxScale: "months", 
      minScale: "days", 
      itemsPerPage: 10, 
      onItemClick: function(data) { 
       alert("Item clicked - show some details"); 
      }, 
      onAddClick: function(dt, rowId) { 
       alert("Empty space clicked - add an item!"); 
      }, 
      onRender: function() { 
       if (window.console && typeof console.log === "function") { 
        console.log("chart rendered"); 
       } 
      } 
     }); 
     //alert("OK"); 
     //var parsedData = JSON.parse(); 
     //alert($(".gantt").gantt.source); 
     $(".gantt").popover({ 
      selector: ".bar", 
      title: "I'm a popover", 
      content: "And I'm the content of said popover.", 
      trigger: "hover" 
     }); 

     prettyPrint(); 

    }); 

Я нашел эту обезьяну со статическим примером, но пытаюсь нарисовать собственный график, изменив содержание источника элемента. так может кто-то сказать мне, как я могу получить источник элемента из объекта gantt.

+0

Какие элементы вы хотите приобрести? – Sapikelio

+0

Элемент 'source' – AyyoubDEV

+0

Вы хотите установить другой источник или хотите получить текущий источник из gantt? – fuyushimoya

ответ

-1

Основываясь на вашем примере, вы могли бы просто переместить исходные данные в переменную, так что вы можете ссылаться на него позже:

var ganttSource = [{ 
    name: "Sprint 0", 
    desc: "Analysis", 
    values: [{ 
     from: "/Date(1320192000000)/", 
     to: "/Date(1322401600000)/", 
     label: "Requirement Gathering", 
     customClass: "ganttRed" 
    }] 
}]; 

$(".gantt").gantt({ 
    source: ganttSource, 
    ... 
}); 

console.log(ganttSource); 
+0

Yup, вы правы, мне нужно создать исходный элемент снаружи, а затем я могу вставить его в конструктор. – AyyoubDEV

0

ли Вы ожидали этого?

Для доступа к gantt элементам через объект попробуйте вот так.

var ganttObj = $(".gantt").data("gantt"); 

Или попытаться создать instance для gantt как это.

var ganttObj = $(".gantt").gantt("instance"); 
ganttObj.model.maxScale = "years" //To change `maxScale` property values dynamically 

Или вы также можете напрямую обращаться к своим элементам следующим образом.

Для например: Для того, чтобы изменить maxScale значение от месяцев до лет, вы можете использовать, как показано ниже.

$(".gantt").gantt({ maxScale: "years" }); 

Пожалуйста, дайте мне знать, если это вам поможет.

+0

no не работает, $ (". Gantt"). Gantt() это конструктор с данными, это означает, что у нас нет объекта для синтаксического анализа. – AyyoubDEV

+0

Проверьте обновленный ответ. Вы также можете получить доступ к своим элементам gantt, создав объект экземпляра. –

+0

@AyyoubDEV вы попробовали мой ответ сейчас? –

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