Grails 如何根据gsp中的复选框值动态加载表

Grails 如何根据gsp中的复选框值动态加载表,grails,checkbox,gsp,Grails,Checkbox,Gsp,我正在处理gsp中的一个表,我希望在复选框值上动态加载该表。。如果复选框未选中,我需要表格显示以下字段 Name age country status Tom 35 USA Confirm Nick 30 USA ready Alex 25 Canada Inprogress Johny 20 UK Waiting 如果选中该复选框,它将显示所有字段 Name age country status Tom 35 USA Confir

我正在处理gsp中的一个表,我希望在复选框值上动态加载该表。。如果复选框未选中,我需要表格显示以下字段

Name  age country status
Tom   35  USA     Confirm
Nick  30  USA     ready
Alex  25  Canada  Inprogress
Johny 20  UK      Waiting
如果选中该复选框,它将显示所有字段

Name  age country status
Tom   35  USA     Confirm
Nick  30  USA     ready
Alex  25  Canada  Inprogress
Johny 20  UK      Waiting
Dipu  22  USA
Jack  22  UK
我正在使用以下代码

   <g:each in="${domainInstanceList}" status="i" var="domainInstance">
                <%

                     //color = "#ff4d4d"
                     color = "#FF6868"
                   def  name = domainInstance?.name
                   def  age= domainInstance?.age
                    def country= domainInstance?.country

                    if (domainInstance.isConfirm) {
                        //color = "#b3ccff"
                        color = "#56B9CC"
                        status = "Confirmed"
                    }
                    if(domainInstance.isReady){
                           status = "Ready"
                    }else if(domainInstance.inProgress ){
                        status = "Inprogress"
                    }else if(domainInstance.iswaiting  ){
                        status = "Waiting"
                    }


                %>

                <tr style="background-color:${color}" class="${(i % 2) == 0 ? 'even' : 'odd'}">
                        <td><b><g:link action="show" id="${domainInstance?.id}">${domainInstance?.prefix}${domainInstance?.number}</g:link></td></b></td>

                        <td>${name}
                        <td>${age}
                        <td>${country}
                        <td>${status}

                </tr>               
            </g:each>

${domainInstance?.prefix}${domainInstance?.number}
${name}
${age}
${country}
${status}
我可以在其中使用jquery吗。。。怎样? 请帮帮我

谢谢

这里没有jQuery的答案,但也许可以简化一下。。。不需要姓名、年龄、国家或地区。如果您正在处理域实例以获得表示,我更喜欢在控制器中完成这项工作,并让gsp尽可能简单,例如为每个域实例创建一个包含[id、linkText、name、age、country、status、color]地图的PersonStatus列表,并将其传递给gsp

<g:each in="${personStatuses}" status="i" var="ps">
  <tr style="background-color:${ps.status}" class="${(i % 2) == 0 ? 'even' : 'odd'}">
    <td>
      <b><g:link action="show" id="${ps.id}">${ps.linkText}</g:link></b>
    </td>
    <td>${ps.name}</td>
    <td>${ps.age}</td>
    <td>${ps.country}</td>
    <td>${ps.status}
  </tr>               
</g:each>

${ps.linkText}
${ps.name}
${ps.age}
${ps.country}
${ps.status}

使用jquery,例如,如果没有状态,则在tr中添加一个类(“nostatus”),并在复选框中添加一个事件侦听器以隐藏“nostatus”类。为什么不使用状态作为实际状态,而不是所有这些布尔值。除了上面的复选框之外,jquery也会进入表单,这次会从结果中去掉不需要的内容——但是tbh——所有内容看起来都很混乱——您可以在controller中遍历
domainInstanceList
,并附加所需的值。就我个人而言,我认为它不需要任何额外的投入——额外的常识或更好的方式——在这里和这里进行跟踪,并进行实际的英语翻译——现在你已经被证明了更好的方式,没有借口了