假设我有这样的DOM:
<div class="table">
<div class="tr">
<div class="td">
<select class="selCat" name="selCat[]">
<option>1</option>
<option>2</option>
</select>
</div>
<div class="td">
<p class="sub">text 1</p>
</div>
</div>
<div class="tr">
<div class="td">
<select class="selCat" name="selCat[]">
<option>3</option>
<option>4</option>
</select>
</div>
<div class="td">
<p class="sub">text 2</p>
</div>
</div>
<div class="tr">
<div class="td">
<select class="selCat" name="selCat[]">
<option>5</option>
<option>6</option>
</select>
</div>
<div class="td">
<p class="sub">text 3</p>
</div>
</div>
使用codeigniter form_dropdown填充名称为“selCat []”的元素数量,并且它是动态的,因为它基于用户的输入。用户可以添加和删除元素。
如何获取同名“selCat []”的所有数据。 我用的时候
$data = $this->input->post(NULL,TRUE);
echo $data['selCat'];
它总是返回最后一个索引的值。
答案 0 :(得分:0)
您应该在表单中提供索引。这里,最后一个值会删除前一个值,因为您没有指定它:
<select class="selCat" name="selCat[1]">...</select>
<select class="selCat" name="selCat[2]">...</select>
... 然后,服务器端,做这样的事情:
echo $data['selCat'][1]; // displays the first choice
echo $data['selCat'][2]; // displays the 2nd choice
它应该有用。
答案 1 :(得分:0)
我找到了解决问题的方法。 我不需要将索引提供给&#34; selCat&#34;也不是数组键。 在控制器内部,我可以使用foreach
$selCat = $this->input->post('selCat');
$data = $this->input->post(NULL,TRUE);
foreach($selCat as $key => $row){
echo $row;
}