2014-11-13 2 views
0

вы можете посоветовать в следующей общей проблеме выдачи javascript: Я динамически создаю объект jastgage из JStree, я получаю массив и для каждого элемента в массиве i bulid 3 diff jastgage objects каждый объект есть uniuck name.javascript getInterval вызов с именем var

$('<div id="g1_'+i+'" class="gaugeObj"></div>').appendTo(".inner"); 
window["g1_"+i] = new JustGage({ 
    id: "g1_"+i, 
    value: 0, 
    min: 0, 
    max: 100, 
    gaugeWidthScale:"0.55", 
    title:"CPU:"+ arrSel[i]           
}); 

"я" это число в массиве ... (мое имя OBJ являются j1_0, j2_0, j3_0, ... j1_1, j2_1, j3_1 .....) я могу видеть все объект по мере необходимости, но когда я пытаюсь обновить значение (только после того, как я создаю объект) с

setInterval(function() { 
    g1_(i).refresh(getRandomInt(0, 42));      
}, 1500); 

это терпит неудачу, ничего не обновляется, отладка показывает : g1_ не определен

Любой идею Что я делаю не так?

+0

Я не вижу нигде, где вы определяете функцию с именем g1_. Откуда вы его ожидаете? – kevingessner

+0

Вам необходимо написать: setInterval (function() { g1_1.refresh (getRandomInt (0, 42)); }, 1500); – Aravind

+0

@ Изначально эти идентификаторы являются динамическими, 'i' требуется. –

ответ

1

Вы сохранили в своем окне объект g1_, так что просто обращайтесь к ним так же, как вы их определили.

window["g1_"+i].refresh(getRandomInt(0, 42)); 

Как она стоит, JavaScript ищет функции называется g1_ и это не функция, это не определено. Вы увидите, что в вашей консоли

+0

Я пытаюсь это сделать, я получаю одинаковые ошибки ... – SharonB

+0

TypeError: window [("g1_" + i)] undefined – SharonB

+0

Запишите объект окна и посмотрите, что определено –