Как я могу сделать эти входы связаны друг с другом? - PullRequest
0 голосов
/ 30 марта 2010

У меня есть серия входов для флажков и соответствующих входов в текстовую область, чтобы можно было указать количество.

Вот как выглядят эти два поля, когда элемент статичен (т.е. только 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 ) 

) 

Я понимаю, что представляют собой значения в проверенном массиве, я просто не понимаю, как связать первое поле со вторым, позже в программе.

Как включить правильный код, чтобы связать проверенные товары с количествами?

1 Ответ

1 голос
/ 30 марта 2010

Используйте что-то общее (идентификатор предмета), чтобы связать их:

<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]" />

Здесь у вас есть массив (мера) предметов с двумя «свойствами»: «проверено» и «количество». Легко повторять и понимать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...