我是新的jQuery世界,仍在學習。我想了解如何傳遞數組參數從「each()」循環中讀取數據。讓我試着解釋(我的母語是葡萄牙語,不好意思)。jQuery數組參數和每個()
我原來的代碼如下:
$('#relatorio').DataTable({
(...)
columns: [
{visible:$('#c1').is(':checked')},
{visible:$('#c2').is(':checked')},
{visible:$('#c3').is(':checked')}
]
});
因爲我會在幾個地方(報告)用這個,我做了一個js文件。但是,在每個報告中,我會有不同的複選框。所以我想掃描每個複選框並動態地裝入對象數組。我已經添加在每個複選框一類「COLSEL」,所以我可以做:
var vCada=[];
$('.colsel').each(function(){ vCada.push({visible:$(this).is(':checked')}); });
好了,但現在我不知道如何直接在那裏更換此。
我有成功創建返回對象數組的函數:
function StatusCols() {
var vCada=[];
$('.colsel').each(function(){ vCada.push({visible:$(this).is(':checked')}); });
return vCada;
}
然後:
columns: StatusCols()
但我並不滿足於這一點,我的新手知識是沒有幫助我: (
我已經試過:
columns: function() {
var vCada=[];
$('.colsel').each(function(){ vCada.push({visible:$(this).is(':checked')}); });
return vCada;
}
那麼,我的錯誤在哪裏?任何人都可以幫助我(並教我)嗎?
謝謝!
* 「但我不滿意這個」 *爲什麼呢?最後的錯誤是你正在給'columns'分配一個函數,而不是調用*函數並賦值它的返回值。儘管如此,我沒有看到最後的解決方案會如何改進原始代碼。 – 2015-03-18 23:16:43
你可以試試這個:http://pastebin.com/raw.php?i=10UX0xpP,但'columns:StatusCols()'很好。 – blex 2015-03-18 23:19:27
嗨菲利克斯,我以前的代碼工作,但需要一個額外的功能。我試圖刪除額外的功能,所以我的想法是創建一個「本地」函數,可以返回一個數組。 – Arvy 2015-03-18 23:25:07