2012-08-23 102 views
1

的HtmlJquery複選框val數組?

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

謝謝。

+0

看你做了什麼,你說陣列和你有一個對象。 – epascarello

+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(",")); 
+0

第二個是我的解決方案。我如何在這個函數中使用'view.setColumns([0,1,2,3,4]);'1,2,3,4是我的chexboxes值。 –

+0

你可以閱讀我的問題的編輯部分? –

+0

'myValues'最後是一個數組,所以你可以傳遞它:'view.setColumns(myValues)'; – karim79

1

我認爲通過值,您實際上意味着該複選框是否被選中與否。 (A複選框始終具有相同的值,不管它是否已選中與否)。

要得到布爾值的數組:

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