变量值未在Jquery Graph中显示

时间:2017-11-15 12:29:15

标签: javascript php jquery html charts

我正在尝试使用火花线图。我将值作为JavaScript变量传递给graph。但它没有显示。但是当我给出恒定/静态相同的值时,我感到很惊讶。它显示正确。这是我的代码: -

 r("#sp-tristate-bar-total-revenue").sparkline([1,21,31,12], {
    type: "bar",
    width: "100%",
    height: "30px",
    barWidth: 4,
    barSpacing: 6,
    barColor: "#16D39A"

}

以上代码工作正常但如果我在Javascript变量中采用这些值,如下面的代码,图形不起作用: -

var graph_val='1,21,31,12';
r("#sp-tristate-bar-total-revenue").sparkline([graph_val], {
    type: "bar",
    width: "100%",
    height: "30px",
    barWidth: 4,
    barSpacing: 6,
    barColor: "#16D39A"
});

请帮我摆脱这个。

3 个答案:

答案 0 :(得分:1)

您将字符串作为单个元素放在数组中,您需要生成创建数组。

选项1:将字符串拆分为数组

var graph_val='1,21,31,12';
r("#sp-tristate-bar-total-revenue").sparkline(graph_val.split(','), {

选项2:将val写为数组

var graph_val=[1,21,31,12];
r("#sp-tristate-bar-total-revenue").sparkline(graph_val, {

答案 1 :(得分:0)

您希望变量是一个数组。所以var graph_val = [1,21,31,12]就是您所需要的。

var graph_val=[1,21,31,12];
r("#sp-tristate-bar-total-revenue").sparkline(graph_val, {
    type: "bar",
    width: "100%",
    height: "30px",
    barWidth: 4,
    barSpacing: 6,
    barColor: "#16D39A"
});

更新: 在评论中,您提到了$("#id").text()作为'2,5,3,6,8'的值。您可以将逗号分隔字符串转换为整数数组,如下所示:

graph_val = $("#id").text().split(',');
for (a in graph_val ) {
    graph_val[a] = parseInt(graph_val[a]);
}

r("#sp-tristate-bar-total-revenue").sparkline(graph_val, {
    type: "bar",
    width: "100%",
    height: "30px",
    barWidth: 4,
    barSpacing: 6,
    barColor: "#16D39A"
});

示例:https://jsfiddle.net/w49mpetp/2/

答案 2 :(得分:0)

第二段代码没有将数组初始化为第一段。

试试这个:

var graph_val=[1,21,31,12];