我的复选框看起来像这样笨复选框阵列
<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