Jquery复选框val数组?

时间:2012-08-23 12:03:38

标签: javascript jquery checkbox

HTML

<td>
     <input type="checkbox" value="1" id="t1" checked="checked" class="filter" /><label
                for="t1">T1</label>
</td>
<td>
     <input type="checkbox" value="2" id="t2" checked="checked" class="filter" /><label
                for="t2">T2</label>
</td>
<td>
     <input type="checkbox" value="3" id="t3" checked="checked" class="filter" /><label
                for="t3">T3</label>
</td>
<td>
     <input type="checkbox" value="4" id="t4" checked="checked" class="filter" /><label
                for="t4">Toplam</label>
</td>

脚本:

$(document).ready(function () {
    $(".filter").click(function () {
        drawChart();
    });
});

function drawChart()
{
    // I want to get checkboxes value here. 
    var filters = {$("#t1").val(),$("#t2").val(),$("#t3").val(),$("#t4").val()};
    var view = new google.visualization.DataView(new google.visualization.DataTable(evalledData, 0.5));
    view.setColumns([0, 4]); //here you set the columns you want to display
}

我想获得如上所示的复选框值,但我不知道正确的语法?或者我将数组传递给drawChart。你能写出正确的语法来创建一个复选框值数组吗?

修改

我想使用复选框设置view.setColumns([0, 4]);的视图列。我的意思是我想使用view.setColumns([array]);代替view.setColumns([0, 4]);

感谢。

2 个答案:

答案 0 :(得分:1)

var myValues = $(".filter").map(function () {
    return this.value;
}).get();
console.log(myValues.join(","));

如果您只想要选中的那些:

var myValues = $(".filter:checked").map(function () {
    return this.value;
}).get();
console.log(myValues.join(","));

答案 1 :(得分:1)

我认为按价值,你实际上是指是否选中了复选框。 (复选框始终具有相同的值,无论是否选中它。)

获取布尔值数组:

var filters = $('.filter').map(function(i, e){
  return $(e).is(':checked');
}).get();