2012-11-01 60 views
1

我有這樣一段代碼重新填充的下拉列表中數組:笨:使用SET_VALUE

<?php for ($i=1; $i<=9; $i++) : ?> 
    <select name="codes[]"> 
    <?php foreach ($errors as $error) : ?> 
    <option value="<?=$error->code?>" <?=set_select('codes', $error->code)?>><?=$error->fault?></option> 
    <?php endforeach; ?> 
    </select> 
<?php endfor; ?> 

的set_select部分似乎並沒有很好地工作,即使我說在我的控制器的驗證規則:

$this->form_validation->set_rules('codes', '', ''); 

提交表單後,所有下拉列表都會獲取最後一個下拉列表的選定值。

任何想法如何解決這個問題?用戶指南不提供有關這種特定情況的詳細信息。

謝謝。

回答

1

對不起,我沒有看到你設置規則,嘗試給它一個真正的規則,看看是否有效。由於它始終有一個值,所以應該可以正常工作。

$this->form_validation->set_rules('codes','codes','trim|required'); 
+0

嗨,瑞克。謝謝,但它仍然不起作用。我在驗證中將方括號添加到了字段名稱中,因爲它返回了一個錯誤(字符串通過,數組期望):$ this-> form_validation-> set_rules('codes []','codes','trim | required') ; – cili

+0

嗯,我只注意到數組和增量循環。嘗試在類似的循環內運行驗證。它試圖驗證一個控件而不是所有的控件,並且它沒有任何回報。例如代碼[1]正在發送數據,並且它沒有被驗證,因爲它不符合規則。 –