【发布时间】:2012-11-01 03:43:36
【问题描述】:
我正在使用 CakePHP 2.2.3 生成一个无线电集,然后我将一个 jQuery 按钮集应用到该无线电集。
CakePHP sn-p:
echo $this->Form->input('contact_address_type', array(
'type' => 'radio',
'legend' => false,
'options' => array('domestic' => 'Domestic', 'po_box' => 'Domestic PO Box', 'foreign' => 'Foreign'),
'div' => array('class' => 'contact address_type')
));
jQuery UI sn-p:
$('.contact.address_type').buttonset();
生成 HTML 时,有一个隐藏字段与收音机集同名。这样做是为了在提交表单时,即使未选择无线电集,我仍然会在我的 request->data 中获得一个值(尽管是空白)。
但是,jQuery UI 按钮集代码在选择其中一个选项时不喜欢这样,因为它希望表单中与所选单选选项名称相同的所有元素都具有与之关联的按钮小部件。此时,associate jQuery UI ticket 是不会修复的。
我不愿意向 CakePHP 提交票证,因为有一个同名的隐藏字段来默认为未选择的收音机设置一个值是一种合法的做法。
jsFiddle 显示了一个示例。选择按钮时,您需要打开 javascript 控制台才能查看生成的错误。
【问题讨论】: