2013-07-30 115 views
0

我在我的表單中使用奏鳴曲管理器實現了自動填充字段。在奏鳴曲管理器中添加按鈕清除sonata_type_collection上的jQuery:奏鳴曲集合項添加

此表單(ScheduleAdmin)有一個遊戲集合(GamesAdmin)。

我的問題是我不能使用jQuery。事實上,當添加一個新的表單類型時,我的jQuery沒有啓動。

但是,當我編輯附表誰了遊戲我的自動完成現場工作...只有第一個

編輯:

沒有辦法使用這個技巧:

TIP :在添加一行(奏鳴曲集合項目添加)或刪除(奏鳴曲集合項目刪除)後觸發jQuery事件。您可以綁定到這些事件觸發自定義JavaScript導入到您的模板(如:添加一個日曆窗口小部件,新添加的日期字段)

Source

我在JQuery的一個小白,我不知道如何綁定這個元素。

有人可以提供幫助嗎?

謝謝!

回答

0

我有同樣的問題。

我用GenumFormBundle修復了它。

與作曲家一樣安裝它:composer.json

{ 
    "require": { 
     "_some_packages": "...", 

     "genemu/form-bundle": "2.1.*" => for Symfony 2.1 and 2.2 

     "genemu/form-bundle": "2.2.*" => for Symfony 2.3 
    } 
} 

不要忘記將包添加到AppKernel.php和運行的assetic命令:

$ php app/console assets:install web/ 

之後,您可以使用它進入Admin類:

protected function configureFormFields(FormMapper $formMapper) 
{  
// ... 
    $formMapper 
     ->with('General') 
      ->add('sample_choice', 'genemu_jqueryautocompleter_choice', array(
        'choices' => array(
         'Choice 1' => 'Choice 1', 
         'Choice 2' => 'Choice 2', 
         'n.a.' => 'Not available' 
        ))) 

請參閱自動填充字段類型可用的文檔。 你也可以選擇實體。但請注意,只有數據庫條目的id纔會在表單中返回,而不是值!

使用過濾器作案:

protected function configureDatagridFilters(DatagridMapper $datagridMapper) 
{ 
    $datagridMapper 
    // ... 
     ->add('customer', null, array(), 'genemu_jqueryautocompleter_entity') 
    // ... 

注意:你必須將下面一行添加到您的佈局:

{{ form_stylesheet(form) }} 
and 
{{ form_javascript(form) }} 
+0

感謝您的回答!我試圖使用genemuFormBundle,但它似乎不起作用...有一個針對奏鳴曲和genemu的特定模板配置? –

+0

嗯,我不確定,但默認情況下,如果genemu包加載正確,該選項應該可用。 注意:它在ajax彈出窗口中不起作用。似乎有一個問題,當加載必要的頭文件或與其他jquery庫衝突。 – sensi

+0

看到我上面的更新。您必須在主佈局的twig文件中添加{{form_stylesheet(form)}}和 {{form_javascript(form)}}。 – sensi

相關問題