1
var a1=$("#orderprogress").val().toFixed(2);//a1=50
var a2=$("#poprogress").val().toFixed(2); //a2=70

如果我想创建一个这样的数组,我会怎么做?

graphData = new Array(
             [a1 value,'#222222'],//[50,'#222222']
             [a2 value ,'#7D252B']//[70,'#222222']
        );
4

4 回答 4

4

尝试使用以下代码:

var a1 = +(+$("#orderprogress").val()).toFixed(2);
var a2 = +(+$("#poprogress").val()).toFixed(2);

graphData = [
    [a1, '#222222'],//[50,'#222222']
    [a2, '#7D252B']//[70,'#222222']
];

演示:http: //jsfiddle.net/ERccS/4/

这将获取文本框值(字符串),将其转换为数字,调用toFixed(2)它,然后将其转换回数字。

不幸的是(如果你关心的话),"50"将显示为50(这发生在尾随0s 中)。如果无论如何你总是需要 2 位小数,请去掉+我代码中的第一个 - 它们将被保存为字符串并且总是有 2 位小数。

我不完全确定你想用toFixed. 该.val()方法总是返回一个字符串。toFixed不是一种String方法——它是一种Number方法。它的结果是原来的Number四舍五入到一定数量的小数位(你传递给方法的)。在你的情况下,它是2.

于 2013-04-12T19:29:13.167 回答
2

任何一个

var graphData = new Array(new Array(a1,'#222222'),new Array(a2 ,'#7D252B'));

或者

var graphData = [[a1,'#222222'],[a2,'#7D252B']];
于 2013-04-12T19:32:28.867 回答
2
graphData = [[a1, '#222222'], [a2, '#7D252B']];
于 2013-04-12T19:30:43.220 回答
0

试试这个

var xArray=[];

var a1=$("#orderprogress").val().toFixed(2);//a1=50
var a2=$("#poprogress").val().toFixed(2); //a2=70

InsertIntoArray(a1,'#fff')
InsertIntoArray(a2,'#fff')

function InsertIntoArray(x,y)
{
var yArray=[x,y];

xArray.push(yArray);

}

或者简单地说,

   var xArray=[];

    var a1=$("#orderprogress").val().toFixed(2);//a1=50
    var a2=$("#poprogress").val().toFixed(2); //a2=70

    xArray.push([a1,"#fff"],[a2,"#fff"]);
于 2013-04-12T19:31:35.287 回答