преобразование массива JavaScript в HTML-таблицу в новом окне по клику

0

Я создаю визуализацию данных, и у меня есть кнопка, которая будет выполнять функцию JavaScript и извлекать первые пять строк из указанных столбцов данных на основе выбора пользователя:

getselection.onclick = function()
{
visual.Document.selection.getselection(
"City",                        \\identifies the selection
"Users",                       \\identifies the table
["Name", "Phone", "Zipcode"],  \\identifies the columns
5,
function(args)
        {
            log(dump(args, "visual.Document.selection.getselection", 2));
        });
};

Полученный результат выглядит следующим образом:

[Name]
0:  xxxxx
1:  xxxxx
2:  xxxxx

[Phone]
0:  xxxxx
1:  xxxxx

То, что я хотел бы сделать, - показать результаты выбора пользователей в таблице HTML в новом окне, которое открывается после щелчка. Я видел предложения для того, чтобы делать что-то похожее на это, но по какой-то причине я не могу заставить их работать. Вот что я имею до сих пор:

function getSelMarking() {
visual.Document.selection.getMarking(
    "city",
    "Users",
    ["Name", "phone", "Zipcode"],
    5,
    function(args) {
        var UserIDs=dump(args);



        HTMLstring='<HTML>\n';
        HTMLstring+='<HEAD>\n';
        HTMLstring+='<TITLE>New Document</TITLE>\n';
        HTMLstring+='</HEAD>\n';
        HTMLstring+='<BODY>\n';
        HTMLstring+='<P>Hello World</P>\n';
        HTMLstring+='<table>\n';
        HTMLstring+='<tr>\n';
        HTMLstring+='<td>'+UserIDs+'</td>\n';
        HTMLstring+='<td>'+UserIDs+'</td>\n';
        HTMLstring+='<td>'+UserIDs+'</td>\n';
        HTMLstring+='</tr>\n';
        HTMLstring+='</table>\n';
        HTMLstring+='</BODY>\n';
        HTMLstring+='</HTML>';
        newwindow=window.open();
        newdocument=newwindow.document;
        newdocument.write(HTMLstring);
        newdocument.close();
        }
    );
}

То, насколько я получил. Я полностью застрял в этом - может быть, у меня просто нет хорошего понимания того, как работают функции? Независимо от того, спасибо вам всем, кто может оказать любую помощь здесь.

я забыл включить разбивку функции dump():

var dump = function(obj, name, indent, depth) {
if (depth > MAX_DUMP_DEPTH) {
    return indent + name + ": <Maximum Depth Reached>\n";
}

if (typeof(obj) == "object") {
    var child = null;
    var output = name + "\n";
    indent += "\t";
    for (var item in obj) {
         try {
            if (item.charAt(0) == '_')  {
                continue;
            }
            child = obj[item];
        } catch (e) {
            child = "<Unable to Evaluate>";
        }

        if (typeof child == "object") {
            output += dump(child, item, indent, depth + 1);
        } else if (typeof(child) == "function") {
            var functionName = String(child);
            functionName = functionName.substring(0, functionName.indexOf("{", 0) -     
10}
            output += "\t" + item + ": " + functionName + "\n";
        } else {
            var value = "";
            if (child == null) {
                value = "[null]";
            } else {
                value = child;
            }
            output += "\t" + item + ": " + value + "\n";
        }
    }
    return output + "\n";
} else {
    return obj;
}
};
Теги:

1 ответ

-1

Я нашел ответ на свой вопрос. трудность здесь была вызвана моим недостатком понимания того, как обрабатываются javascript массивы. извините, все.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню