我有一系列复选框输入和相应的文本区域输入,以允许指定数量。
当项目是静态的(即只有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 )
)
我理解check数组中的值是什么,我只是不明白如何将第一个字段与第二个字段相关联,稍后在程序中。
如何合并正确的代码以将已检查的项目与数量相关联?
答案 0 :(得分: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]" />
这里有一个项目的数组(度量),有两个“属性”:“已检查”和“数量”。易于迭代和理解。