создать переменную массива - PullRequest
1 голос
/ 05 апреля 2011

Я хотел создать такой вывод

var s1 = [['Sony',7],['Samsung',5],['LG',8]];

чтобы я мог использовать его для передачи моего графика в качестве переменной

из результатов моего AJAX

success: function(data){

    //code to extract the data value here

    var s1= need to create the data here

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

}

«данные» в функции успеха возвращают этот макет таблицы

<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>

Не могли бы вы помочь мне создать логику для этого?

Заранее спасибо

EDIT: Я ищу решение что-то вроде следующего:

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]];

потому что jqplot требует такого типа параметра

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

поэтому я ищу способ создать значение для переменной s1 из данных это могло быть возможно?

Ответы [ 2 ]

14 голосов
/ 05 апреля 2011
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);
});
0 голосов
/ 07 августа 2012

Вы можете сделать что-то вроде этого:

var row = [];
$(".tblRows").each(function () {
    row.push([$(this).find('.clsPhone').text(),
              $(this).find('.clsRating').text()]);
});

$.jqplot('chart', [row], {
    //... 
});
...