2010-03-29 24 views
0

我有一系列複選框輸入和相應的文本區域輸入,以允許指定數量。如何讓這些輸入相互關聯?

這裏的兩個領域是什麼時,該項目是靜態的像(即只有1人):

<input type="checkbox" name="measure[checked][]" value="<?=$item->id?>"> 
<input type="hidden" name="measure[quantity][]" value="1" /> 

這裏的輸入框是什麼樣子的有一個可預先設定數量的所有項目:

<input type="checkbox" name="measure[checked][]" value="<?=$item->id?>"> 
<input class="item_mult" value="0" type="text" name="measure[quantity][]" /> 

這將發揮很好,如果陣列中,它沒有這樣的輸出,以收集之後:

$field = $this->input->post('measure',true); 

Array ( 

    [quantity] => Array ([0] => 1 [1] => 1 [2] => 1 [3] => 1 [4] => 1 [5] => 1 [6] => 25 [7] => 0 [8] => 0 [9] => 0 [10] => 1 [11] => 1 [12] => 1 [13] => 1 [14] => 1 [15] => 1 [16] => 1 [17] => 1 [18] => 1 [19] => 1 [20] => 1 [21] => 1 [22] => 0 [23] => 0 [24] => 0 [25] => 0 [26] => 0 [27] => 0 [28] => 0 [29] => 0 [30] => 0 [31] => 0 [32] => 0 [33] => 0 [34] => 0 [35] => 0 [36] => 0 [37] => 0 [38] => 0 [39] => 0 [40] => 0 [41] => 1 [42] => 1 [43] => 1 [44] => 1 [45] => 1 [46] => 1 [47] => 1 [48] => 1 [49] => 1 [50] => 1 [51] => 1 [52] => 0 [53] => 0 [54] => 0) 

    [checked] => Array ([0] => 4 [1] => 6 [2] => 13) 

) 

我明白在checked數組中的值是什麼,我只是不明白如何將第一個字段與第二個字段相關聯,稍後在程序中。

如何合併正確的代碼以將檢查的項目與數量相關聯?常見

回答

1

使用的東西(項目ID)來聯繫他們:

<input type="checkbox" name="measure[checked][<?=$item->id?>]" value="1"> 
<input class="item_mult" value="0" type="text" name="measure[quantity][<?=$item->id?>]" /> 

現在,你知道什麼樣的措施涉及到哪些項目。然而,更好的辦法是:

<input type="checkbox" name="measure[<?=$item->id?>][checked]" value="1"> 
<input class="item_mult" value="0" type="text" name="measure[<?=$item->id?>][quantity]" /> 

在這裏,您有一個項目數組(測量),用兩個「屬性」:「檢查」和「量」。易於迭代和理解。

+0

謝謝!是否有一些文檔可以推薦您從中學習?或者你是從學校學習,還是隻是谷歌搜索?如果是這樣的話,Google會尋找更多關於此類信息的信息?謝謝! – dmanexe 2010-03-29 20:39:31

+1

我推薦使用stackoverflow。 :-) – 2010-03-29 20:52:26