2011-08-30 19 views
2

如何將值從一個下拉列表傳遞到第二個下拉列表。playframework:dropdownlist選定的值

例子:

模板

#{select 'pl'} 

      #{list platforms, as: 'platform'} 
       #{option}${platform.description} #{/option} 
      #{/list} 
#{/select}       


#{select 'pl'}   
     #{list cdrs, as:'cdr'} 
       #{option}${cdr.description} #{/option} 
     #{/lisst}   
#{/select}   

回答

0

如果你的意思是一旦在瀏覽器中呈現,則必須使用JavaScript。

否則,使用值的關鍵字,如文檔中解釋(here

1

你的問題是不是真的清楚,但如果我的理解對不對,你想改變一個選擇取決於所選擇項的值第一個選擇。這是不可能的,因爲它是一個運行時動畫。

你將不得不看看Ajax/Javascript來做這樣的事情。

2

如果你的意思是使用JavaScript「鏈」兩個像選擇國家/地區,我所做的就是移動第二代碼選擇了自己的看法(如城市/ selectCities.html

#{select 'city', items: cities, valueProperty: 'id', labelProperty: 'name' /} 

,並使用在所述視圖中的包括我將在其中既有鏈選擇

<select name="country" id="select-country"> 
    <option value="ES">Spain</option> 
    <option value="US">United States</option> 
</select> 

<span id="select-city"> 
    #{include 'Cities/selectCities.html' /} 
</span> 

現在在同一視圖reaload第二選擇的情況下,一些JavaScript第一選擇改變

$('#select-country').change(function() { 
    var selectAction = #{jsAction @reloadCities(':country') /}; 
    $('#select-cities').load(selectAction({country: $(this).val()})); 
}); 

和我們有reaload城市方法只呈現控制器第二再次選擇

public static void reloadCities(String country) { 
    List<City> cities = City.find("byCountryCode", country).fetch(); 

    render("@selectCities", cities); 
} 

,並僅此而已,對我來說它的工作使用播放1.2.5