Заполнить выпадающее меню Grails

В настоящее время я пытаюсь заполнить раскрывающееся меню на основе выбора в предыдущем раскрывающемся меню, которое у меня есть. Например, если вы нажмете «Весна 2013» в первом раскрывающемся меню, во втором меню будут показаны все соответствующие недели, назначенные этому семестру, чтобы их можно было выбрать и изменить. Как распространить второе меню по отношению к выбору из первого меню?

Это мой контроллер:

    class TermController {

    static scaffold = Term

    def dataSource

    def list = {
        def db = new Sql(dataSource)
        def result = db.rows("SELECT id, semester FROM term")
        [ result: result ]
    }

}

Вот мой list.gsp, чтобы показать вид контроллера:

    <div class="fieldcontain">
        <g:select name="termSelection" from="${Term.list()}" values="${params.id}" optionKey="id" optionValue="semester" noSelection="['':'----Term----']"/>
    </div>

        <table>
            <tr>
                <g:select name="it.week" from="${Week.list()}"/>
            </tr>
        </table>

person thehoule64    schedule 15.04.2013    source источник
comment
Как выглядят классы предметной области? И какая польза от действия list в контроллере.   -  person dmahapatro    schedule 16.04.2013


Ответы (1)


Мне кажется, вы хотите сделать вызов ajax, вызванный изменением выбора другого списка?

  • Слушайте изменения в вашем списке termSelection
  • После изменений сделайте вызов ajax, чтобы получить список недель.
  • Передайте полученный список ajax в свой список it.week
person rimero    schedule 15.04.2013