创建数组变量

Car*_*Jr. 1 variables jquery multidimensional-array jqplot

我想创建这种输出

var s1 = [['Sony',7],['Samsung',5],['LG',8]];
Run Code Online (Sandbox Code Playgroud)

这样我就可以用它来传递我的图形作为变量

从我的ajax的resutl出来

success: function(data){

    //code to extract the data value here

    var s1= need to create the data here

    $.jqplot('chart',[s1],{ blah blah blah

}
Run Code Online (Sandbox Code Playgroud)

success函数中的"data"返回此表格布局

<table id="tblResult">
    <tr class="tblRows">
        <td class="clsPhone">Sony</td><td class="clsRating">7</td>
    </tr>
    <tr class="tblRows">
        <td class="clsPhone">Samsung</td><td class="clsRating">5</td>
    </tr>
    <tr class="tblRows">
        <td class="clsPhone">LG</td><td class="clsRating">8</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

你能帮助我为此创造逻辑吗?

提前致谢

编辑: 我正在寻找类似以下的解决方案:

var s1;
$(".tblRows").each(function(){
    // here I don't know exactly on what to do
    //s1.push($(".clsPhone").text(),$(".clsRating").text()));
});
// all I wanted is to make the resul s1=[['Sony',7],['Samsung',5],['LG',8]];
Run Code Online (Sandbox Code Playgroud)

因为jqplot需要这种参数

s1=[['Sony',7],['Samsung',5],['LG',8]];
$.jqplot('chart',[s1],{
        renderer:$.jqplot.PieRenderer,
        rendererOptions:{
            showDataLabels:true,
            dataLabelThreshold:1
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找一种方法来从数据中创建变量s1的值这可能吗?

Ada*_*son 14

var s1 = [];
$(".tblRows").each(function(){
    // create a temp array for this row
    var row = [];
    // add the phone and rating as array elements
    row.push($(this).find('.clsPhone').text());
    row.push($(this).find('.clsRating').text());
    // add the temp array to the main array
    s1.push(row);
});
Run Code Online (Sandbox Code Playgroud)

  • 我想你可能需要将$(数据)传递给初始选择器才能使它工作.$(".tblRows",$(data))....这是因为此时传入的数据不一定在文档中 (2认同)