list - Grails g:选择设置selectedIndex

标签 list forms grails selectedindex

如何使用列表中的值在标记上设置selectedIndex?我有一个页面,可让您添加记录。然后页面转到包含g:select的 View ,我希望g:select默认为我刚刚插入数据库的那个项目。

我试图在闪存中传递新对象,但是我不知道如何获取用于生成g:select数据的列表中的索引。

最佳答案

假设您将Book对象存储在 Controller 级别的flash.book中,则第二页如下所示:

<html>
    <head>
        <g:javascript library="prototype" />
        <g:javascript>
              function showLast(selectedId) {
                  if (selectedId) {
                    $$('#books option[value=' + selectedId + "]")[0].selected = true;
                  } else {
                    $('books').selectedIndex = 0;
                  }
              };

              Event.observe(window, 'load', init, false);

              function init() {
                  showLast(${flash?.book?.id});
              }
            </g:javascript>
    </head>
    <body>
        <g:select id="books" name="id"
                  from="${Book.list()}"
                  value="title"
                  optionValue="title"
                  optionKey="id"
         />
    </body>
</html>

关于list - Grails g:选择设置selectedIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2196707/

相关文章:

javascript - jquery Accordion - 如何在页面加载时默认打开第二个选项卡

python - 创建新列表并附加到字典

jquery - 向动态 jQuery 表单添加元素

javascript - 如何检查文本字段值的格式是否正确?

json - 使用Groovy JSON构建器

grails - 添加两个字段并在grails中插入域类的第三个字段

c# - 使用介于两者之间的方法将 c# List 转移到另一个列表

list - 用于验证括号匹配的 Haskell 函数

javascript - 根据先前的单选选项禁用单选按钮

javascript - Grails 2.2.4中如何仅在特定页面加载某些JS资源