2012-02-20 69 views
1

我試圖根據我的數據庫中的一些現有條件動態加載選擇框的選項。有用的信息是,有3個類,一個寵物,它有一個品種和類型,一個品種,它有一個名稱和類型,以及類型,就像'狗'或'貓'。如何使用Symfony2 +樹枝渲染動態選擇

編輯寵物時,我有兩個從Doctrine/Symfony2填充的下拉列表。

Type [Select One] 
Breed [Select One] 

目前的品種選擇列表狗和貓的所有品種,我想選擇「類型」和有力量的犬種選擇框來基於該類型唯一上榜品種。

在使用Symfony之前,我已經使用原始的php/javascript完成了這個想法,這裏有一些在Symfony中處理它的最佳實踐。

任何意見,將不勝感激。我可以提供任何所需的附加信息,但希望儘可能簡單。

回答

0

我沒有發現任何其他的方式,而不是第一次選擇更改jquery,然後ajax調用與選定的選項重新填充目標選擇。

$('#Your_source_select').change(function() 
{ 
    $.ajax({ 
    type: 'POST', 
    url: Routing.generate('AJAXDevisOnduleurOptions', { onduleurId: $('#Your_source_select').val() }), 
    success: function(msg){ 
     $('#Your_target_select').children().remove().end().append(msg); 
    } 
}); 
}); 

請注意Your_source/target_select是實體字段。 但看起來你有那個部分。

您可能想要使用FOSJSRoutingBundle =>https://github.com/FriendsOfSymfony/FOSJsRoutingBundle 它允許您使用樹枝語法在JavaScript中構建路由。所以它允許你訪問它的變量。

+0

太好了,謝謝大衛。我去了jQuery,剛剛使用.load,但我會檢查出JSRouting Bundle。 – John 2012-02-21 23:56:29