我的複選框看起來像這樣笨複選框陣列
<div>
<input type="checkbox" name="fruits[]" value="apple" <?php echo set_checkbox('fruits[]', 'apple'); ?> />
<input type="checkbox" name="fruits[]" value="banana" <?php echo set_checkbox('fruits[]', 'banana'); ?> />
<input type="checkbox" name="fruits[]" value="peach" <?php echo set_checkbox('fruits[]', 'peach'); ?> />
</div>
我使用數組中的名字,這樣我可以填充文本字段(通過jQuery)與我選擇複選框的值。我正在使用在stackoverflow上找到的腳本。
function calculate() {
var fruit = $.map($('input:checkbox:checked'), function(e, i) {
return e.value;
});
$('#fruits').val(fruit.join(',')); //adds values separated by comma to #fruits input
}
calculate();
$('div').delegate('input:checkbox', 'click', calculate);
到目前爲止,它的工作原理,但我無法設置驗證規則的複選框,因爲它們都具有相同的名稱。我試過..
$this->form_validation->set_rules('fruits[]', 'Apple', 'required|xss_clean');
$this->form_validation->set_rules('fruits[]', 'Banana', 'required|xss_clean');
$this->form_validation->set_rules('fruits[]', 'Peach', 'required|xss_clean');
和使用echo form_error('fruits[]');
顯示驗證錯誤,但沒有任何反應。最終,我想在提交狀態下顯示一個複選框,如果在我的表單中的另一個字段發生錯誤。相反,所有的複選框取消選中。我不知道如何解決這個問題。
POST
Array ([FRUITS] => Array ([0] => apple [1] => banana [2] => peach)
這是當他們檢查
可以給我您的文章?在表單驗證之前放置print_r($ _ POST);死(); – 2011-05-30 17:56:19
是的,已更新我的問題 – CyberJunkie 2011-05-30 18:02:26