NEWS
Как создать таблицу из объекта?
-
Есть объект с json-данными:
sendTo('sql.0', 'query', 'SELECT * FROM iobroker.history', function (result) { if (result.error) { console.error(result.error); } else { setState('Sql_history', JSON.stringify(result.result)); } });
В vis-е пытаюсь сделать таблицу:
var obj = {javascript.0.Sql_history}; var tbl=$("").attr("id","mytable"); $("#div1").append(tbl); for(var i=0;i<obj.length;i++) {/var/tr="<tr>" ;/td1="<td>" +obj[i]["id"]+"</td="">"; var td2="</obj.length;i++)>"; $("#mytable").append(tr+td1+td2); } Таблица не создаётся. Если скопировать значение объекта с json-данными сразу в js вместо {javascript.0.Sql_history} таблица создаётся.[/i][/i] | "+obj[i]["event_date"]+" |
-
A так?
var obj = getState('Sql_history').val; if (typeof obj === 'string') obj = JSON.parse(obj );
-
A так?
var obj = getState('Sql_history').val; if (typeof obj === 'string') obj = JSON.parse(obj ); ```` `
Это в vis вставить? Но js на стороне клиента не знает функций iobrokera, в консоли браузера:
Error: Error: can't render tplHtml w00129 (ReferenceError: getState is not defined)
-
A так?
var obj = getState('Sql_history').val; if (typeof obj === 'string') obj = JSON.parse(obj ); ```` `
Это в vis вставить? Но js на стороне клиента не знает функций iobrokera, в консоли браузера:
Error: Error: can't render tplHtml w00129 (ReferenceError: getState is not defined) ```` `
Я думал что ты через скрипт таблицу собираешь. Но ты понял идею, что надо парсить значение
-
Оказывается таблица отображается нормально при просмотре страницы с клиента (код тот же), а в режиме редактирования в vis-е таблицы не видно.
Это баг или фишка?
-
Возможная причина в экранировании точки в имени объекта, как правильно экранировать?
В элементе html на код js в скрипте ошибка не выводится - таблица в редакторе не отображается, но в клиенте таблица генерируется и показывается.
Если перенести js код в Скрипты vis-а, то ошибка отображается, таблицы нет в редакторе и нет при просмотре.
1444_vis-er1.png -
Оказывается таблица отображается нормально при просмотре страницы с клиента (код тот же), а в режиме редактирования в vis-е таблицы не видно.
Это баг или фишка? `
фишка -
Возможная причина в экранировании точки в имени объекта, как правильно экранировать?
В элементе html на код js в скрипте ошибка не выводится - таблица в редакторе не отображается, но в клиенте таблица генерируется и показывается.
Если перенести js код в Скрипты vis-а, то ошибка отображается, таблицы нет в редакторе и нет при просмотре. `
Там, где ты редактируешь, bindings не работает. -
вот кстати классный материал по объектам http://webdiz.com.ua/glava-5-obekty-v-j … rator-new/