we are trying to implement ajax in new incident to get values of assign user id by click on groups for that we apply ajax in views on create.gsp
ajax used in create.gsp
<g:javascript>document.observe('dom:loaded', function() {$("groupId").observe("change", respondToSelect);});
function respondToSelect(event)
{new Ajax.Updater("userId","/smartserv/incident/updateSelect",{method:'get', parameters: {selectedValue : $F("groupId")} });}</g:javascript>
this are tags used in create.gsp
<tr class="prop"> <td valign="top" class="name">
<label for="groupId"><g:message code="incident.groupId.label" default="Assignment Group" /></label>
</td>
<td valign="top" class="value ${hasErrors(bean: incidentInstance, field: 'groupId', 'errors')}">
<g:select id="groupId" name="groupId" from="${app.Usergroup.list()}" optionKey="id" value="${incidentInstance?.groupId?.id}" />
</td>
</tr>
<div id="userId">
<tr class="prop">
<td valign="top" class="name">
<label for="userId"><g:message code="incident.userId.label" default="Assign Id" /></label>
</td>
<td valign="top" class="value ${hasErrors(bean: incidentInstance, field: 'userId', 'errors')}">
<g:select name="userId" from="${app.User.list()}" optionKey="id" value="${incidentInstance?.userId?.id}" />
</td>
</tr>
</div>
In incident controller we used updateSelect to get values
def dataSource
def updateSelect = {
def sql = new Sql(dataSource)
def user_id = sql.execute("SELECT distinct user_id FROM user_groups where user_groups.usergroup_id='+usergroup_id+'")
render(usergroup_id:params.selectedValue,template:"assignId", model : ['user_id' : user_id])
}
_assignId.gsp
<g:select
from="${groupId.members}"
name="" value="">
</g:select>
database table:group_(fields:groupid , description, application)
table:user(fields:userid,username,etc)
table:user_groups( fields:userid and usergroupid)
by using this tables we have to get values by using ajax
we are getting action on assignid but we are not getting particular values And Can anyone suggest website or pdf that how to implement sql queries in controller.