目前我正在使用grails和MySQL。
我必须在控制器中创建一个动态单选按钮并传递给视图。我怎么能这样做?
例如: 单选按钮 是还是不是 和 男性或女性
这些值现在位于数据库中。现在我的问题是如何在控制器中创建单选按钮并将其传递给grails视图?
List queryData
String s="";
for(int i=0;i<eventformAttri.size();i++){
queryData=formField.masterTableQuery(eventformAttri[i].fieldQuery.toString()) //to fetch the radio buttons values
for(int ii=0;ii<queryData.size();ii++){
System.out.println("list data "+queryData[ii].field1)
s+=queryData[ii].field1+" <input type='radio' name='myGroup"+i+"' value="+queryData[ii].field2+" />";
}
s+=",";
}
def vformData=s.split(',');
render(view:'/auditor/formView',model:[eventformAttri:eventformAttri,queryData:vformData])
答案 0 :(得分:1)
您应该在视图中创建单选按钮,并使用嵌入式jquery库来执行此操作。例如,将视图中的jquery脚本与remotelink结合使用以与控制器进行交互:
$('input:radio[title=YOUR TITLE]').attr('checked',true);
<g:remoteLink controller="yourcontroller" action="youraction" update="[success: 'results']" onSuccess="yourFunction(data) ">Your link</g:remoteLink>
答案 1 :(得分:1)
通过控制器详细说明Phat H. VU所说的内容,按原样发送queryData
,
render(view:'/auditor/formView',model:[queryData:queryData])
并使用视图呈现信息
<g:radioGroup name="dynaRad"
labels="${queryData.collect{it.field1}}"
values="${queryData.collect{it.field2}}">
<p>${it.label} ${it.radio}</p>
</g:radioGroup>