我正在使用CakePHP 2.2.3生成一個radioset,然後應用jQuery buttonset。jQuery buttonset和帶有隱藏值的CakePHP收音機設置
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,還有一個隱藏字段共享相同的名稱作爲無線電集。這樣做是爲了當提交表單時,即使未選擇radiume,我仍然會在我的請求 - >數據中得到一個值(雖然是空白的)。
但是,當選擇其中一個選項時,jQuery UI按鈕設置代碼並不喜歡這樣做,因爲它期望所有共享表單中選定廣播選項名稱的元素都具有與它們關聯的按鈕小部件。在這一點上,associate jQuery UI ticket是wontfix。
我不願意向CakePHP提交一張票,因爲有一個隱藏的字段與默認值相同的名稱爲非選定的收音機是一種合法的做法。
這個jsFiddle顯示了一個例子。您需要打開您的JavaScript控制檯才能在選擇按鈕時查看生成的錯誤。