2012-04-18 27 views

回答

0

如果你需要做它在客戶端使用,你可以使用jQuery這樣的JavaScript:

var arr = $('[type=checkbox]:checked'); 

如果您需要在紅寶石做這在服務器端在軌道上我幫不了你。但是我知道只有選中的複選框纔會通過GET或POST發送回服務器,所以如果您知道這些複選框的名稱,您可以從請求對象獲取它們並將它們放入數組中。未勾選的複選框將永遠不會到達服務器,因此您不必明確忽略它們。

0

如果你做這樣的事情:

<input type='checkbox' name='User[]' VALUE='someVal'>Visible Text</option> 

無論複選框被用戶遂以將在名爲用戶一個POST陣列進行檢查。

將[]添加到名稱將在提交時創建一個數組。

不確定熱在Ruby on Rails,但在PHP中做到這一點。當表單被提交但用戶數組被傳遞給服務器時。我們將我們的複選框命名爲User,因此我們的發佈數組稱爲User。在PHP我檢索張貼陣列是這樣的:

print_r($HTTP_POST_VARS["User"]); 

然後這個陣列輸出像這樣:

Array ([0] => Me [1] => You [2] => SomeoneElse) 

所有陣列中的數據進行了檢查複選框。在你可以做一個

foreach (​​​​​​​ $HTTP_POST_VARS["User"] as $key => $value) { $key is 0, $value is Me. and so on } 

希望這有助於 -

+0

所以如果我想循環這個數組中的某個動作(檢查某個屬性的用戶),我怎麼能得到它? – 2012-04-19 00:06:25

+0

不確定熱在Ruby on Rails,但在PHP中做到這一點。當表單被提交但用戶數組被傳遞給服務器時。我們將我們的複選框命名爲User,因此我們的發佈數組稱爲User。在PHP中,我檢索像這樣發佈的數組:print_r($ HTTP_POST_VARS [「User」]);那麼這將輸出數組,如下所示:Array([0] => Me [1] => You [2] => SomeoneElse)數組中的所有數據都是check複選框。你可以做一個foreach($ HTTP_POST_VARS [「用戶」]作爲$ key => $ value){你的代碼}希望這有助於 – knittledan 2012-04-19 16:24:48

0

$_POST已經是form組內的所有的數組。使用此功能在複選框上執行您的「特定操作」。如果出於某種原因,你需要在不同變量中的信息,那麼就通過$_POST環,並把它變成一個不同的變量,像這樣:

while ($row = $_POST) { 
    $new_var[] = $row[0]; 
} 

這應該爲你工作投入了新的/不同的陣列,但坦率地說,我不明白這一點,因爲它已經是一個數組了。

據瞭解$ _POST數組的樣子,然後看看var_dump()。複選框的名稱將在[]中顯示,值將顯示在=>之後。因此,如果您的輸入名稱爲name=box1且值爲value=1,那麼從$_POST的角度看,陣列看起來像[box1] => 1,因此您可以使用此部分,具體如$foo = $_POST['box1']$foo的值將爲box1或你可以通過調用它來做任何你想做的事情(而不是放入一個新的變量)。

相關問題