2 Stimmen

playframework: Dropdownliste ausgewählter Wert

Wie kann man einen Wert von einem Dropdown in ein zweites Dropdown übertragen?

Exemple :

Vorlage

#{select 'pl'}

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

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

2voto

Carlisg Punkte 89

Wenn Sie meinen, mit Javascript zwei Selects wie Land/Stadt zu "verketten", habe ich den Code für das zweite Select in eine eigene Ansicht verschoben (z. B. Städte/selectCities.html )

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

und verwenden Sie ein Include in der Ansicht, in der ich beide verketteten Selects haben werde

<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>

jetzt einige Javascript in der gleichen Ansicht zu reaload zweite Auswahl, wenn erste Auswahl Änderungen

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

und im Controller haben wir unsere reaload cities-Methode, die nur den zweiten Select wiedergibt

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

    render("@selectCities", cities);
}

und das war's auch schon, bei mir funktioniert es mit Play 1.2.5

1voto

i.am.michiel Punkte 10170

Ihre Frage ist nicht ganz klar, aber wenn ich sie richtig verstehe, möchten Sie eine Auswahl abhängig vom Wert des ausgewählten Elements in der ersten Auswahl ändern. Das ist unmöglich, da es sich um eine Laufzeitanimation handelt.

Sie müssen einen Blick auf Ajax/Javascript werfen, um solche Dinge zu tun.

0voto

Pere Villega Punkte 16419

Wenn Sie meinen, dass es einmal im Browser gerendert wird, müssen Sie Javascript verwenden.

Andernfalls verwenden Sie das Schlüsselwort value, wie in der Dokumentation beschrieben ( hier )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X