Jquery Mapael: Как я могу использовать данные таблицы HTML, чтобы заменить этот жестко закодированный пример? - PullRequest
0 голосов
/ 02 января 2019

Вот жестко закодированный код, который работает (только 2 состояния):

 var myAreas = [];
    myAreas = {
            "VA": {
                value: "6.3",
                tooltip: {  content: "Virginia freq : 7.2"  }
            },
            "NC": {
                value: "5.7",
                tooltip: { content: "North Carolina freq : 6.7" }
            }
        };
        $(".mapcontainer").mapael({
            map: {
                name: "usa_states"
            },
            areas: myAreas
        });

Я пытаюсь использовать результаты в моей таблице HTML, но не могу получить ее в приемлемом формате,Это то, что я пытался:

var data = [];
    var rows = $('#tblStateFreq').find('tr');
    for (var i = 0; i < rows.length; i++) {
        var row = $(rows[i]);
        var state = row.find('td').eq(0).text();
        var freq = row.find('td').eq(1).text();
        data.push({
            state,
            value: freq,
            tooltip: state + " " + freq;
        });
    }
    $(".mapcontainer").mapael({
        map: {
            name: "usa_states"
        },
        areas: data
    });

массив данных имеет все состояния с правильными данными, но он имеет вид:

0: состояние: "AK" подсказка: {content: "AK 7.0"} значение: "7.0"

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

1 Ответ

0 голосов
/ 24 января 2019

Я нашел то, что искал здесь: Возможно ли добавить динамически именованные свойства в объект JavaScript?

Несмотря на то, что жестко закодированные данные, myAreas [] изначально определены как массив, они переопределяются как объект, добавляются myAreas {...} и свойства (состояния).

В моем примере я пытался добавить в свой массив данные [], используя push, который работал, но это не то, что требуется плагину mapeal в качестве аргумента областей.

...