【发布时间】:2011-05-30 17:50:02
【问题描述】:
我的复选框看起来像这样
<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[]'); 显示验证错误,但没有任何反应。最终,如果我的表单中的另一个字段发生错误,我想在提交的状态下显示一个复选框。相反,所有复选框都取消选中。我不确定如何解决这个问题。
发布
Array ( [FRUITS] => Array ( [0] => apple [1] => banana [2] => peach )
这是他们被检查的时候
【问题讨论】:
-
你能给我们你的帖子吗?将其放在表单验证之前 print_r($_POST);死();
-
是的,更新了我的问题
标签: php jquery forms codeigniter