我正在使用 CakePHP 2.2.3 生成一个无线电集,然后我将一个 jQuery 按钮集应用到该无线电集。
CakePHP 片段:
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 片段:
$('.contact.address_type').buttonset();
生成 HTML 时,有一个隐藏字段与收音机集同名。这样做是为了在提交表单时,即使未选择无线电集,我仍然会在我的 request->data 中获得一个值(尽管是空白)。
但是,jQuery UI 按钮集代码在选择其中一个选项时不喜欢这样,因为它希望表单中与所选单选选项名称相同的所有元素都具有与之关联的按钮小部件。此时,关联的 jQuery UI 票证是 wontfix 。
我不愿意向 CakePHP 提交票证,因为有一个具有相同名称的隐藏字段来默认未选择的无线电集的值是一种合法的做法。
这个jsFiddle展示了一个例子。您需要打开 javascript 控制台才能在选择按钮时查看生成的错误。