gpt4 book ai didi

java - 如何从 grails 和 groovy 的下拉列表中选择小于或大于的年龄

转载 作者:行者123 更新时间:2023-11-28 16:30:24 25 4
gpt4 key购买 nike

我有一个要求,应该有一个包含一些年龄条件的下拉菜单。比如少于10天,10到30天之间,1个月到3个月之间,4个月到12个月之间,1年到2年之间。

我有一个包含一个属性年龄(整数)的域类。我正在计算从 dob 到当前日期的年龄并存储在数据库中。我有根据搜索页面中的年龄进行搜索的搜索条件,那么我如何显示这些条件下拉列表中的值以及当我选择一个选项时如何根据年龄显示结果。

目前我正在数据库的下拉列表中显示所有年龄,请找到代码并帮助我做到这一点,如果不清楚,请写下评论,以便我可以解释你。

这是我的下拉菜单,包含所有的职位

 <td><span id="availableAge" ></span></td>  

这是我的脚本,用于通过 ajax 调用从 Controller 获取 dob

 function generateAge(data){
var list ="<select style='width:100px' id='age' name='age'><option value=''>-Select-</option>";
var opt;
for(var i=0; i<data.ageDetails.length; i++){
opt = "<option value="+data.ageDetails[i].age+">";
opt = opt+data.ageDetails[i].age;
opt = opt+"</option>";
list = list+opt;
}
list = list+"</select>";
var listObj = document.getElementById("availableAge");
if(listObj){
listObj.innerHTML = list;
}
}

最佳答案

将年龄存储在数据库中不是一个好主意,因为它一直在变化 - 最好坚持使用 DOB。

由于选项集是固定的,因此为它创建一个类似于enum的东西,使用它的values()来渲染select

enum AgeCriteriaEnum { NONE, LESS_THAN_10, BETWEEN_10_AND_30, ... 等等 }

只需执行一个 switch() 即可:

AgeCriteriaEnum ageEnum = AgeCriteriaEnum.valueOf(params.ageEnum)
Date today = new Date()

Patient.withCriteria {
switch(ageEnum) {
case AgeCriteriaEnum.NONE:
break;
case AgeCriteriaEnum.LESS_THAN_10:
ge('dob', today-10)
break;
case AgeCriteriaEnum.BETWEEN_10_AND_30:
lt('dob', today-10)
ge('dob', today-30)
break;
//... so on
}
}

关于java - 如何从 grails 和 groovy 的下拉列表中选择小于或大于的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6266069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com