Итак, у меня есть один класс домена и у него много полей. У меня есть пять выпадающих списков в GSP, и данные фильтруются по onChange любого из drop- но проблема есть. Для нескольких наборов комбинаций, выбранных в раскрывающихся списках, у нас нет данных в базе данных, и эти комбинации не фиксированы.Зависимые выпадающие списки с одним классом домена в Grails
Итак, я подумал, возможно ли, что после выбора в первом выпадающем списке (или в любом из выпадающих списков) остальные выпадающие значения занимают значения в зависимости от первого выбора (что означает, что в других раскрывающихся списках будут отображаться только те значения, для которых данные доступны в базе данных), и это также следует за последующими выборами.
Кроме того, я видел примеры зависимых раскрывающихся, но все примеры, которые я вижу несколько раскрывающихся меню, но каждый из этих раскрывающихся получить значения из различных доменов классов
Возможно ли это сделать это только с одним классом домена?
Это как мой index.gsp выглядит следующим образом:
<html>
<head>
<g:javascript src="jquery-1.10.2.js"/>
<g:javascript src="prototype.js"/>
</head>
<body>
<form>
<g:select from="['DESKTOP/LAPTOP','SMARTPHONES','OTHERS','TABLETS']" name="device" id ="device"
onchange="${remoteFunction(
controller:'Pgtyp',
action:'ajaxGetMv',
// params:'\'mv=\' + escape(this.value)',
params:'\'device=\'+this.value+\'&mv=\'+$(\'mv\').value+\'&browser=\'+$(\'browser\').value+\'&pagetype=\'+$(\'pagetype\').value+\'&platform=\'+$(\'platform\').value' ,
onSuccess: 'printpgtyp(data)')}"
></g:select>
<g:select from="['CORESITE','MWEB']" name="platform" id ="platform"
onchange="${remoteFunction(
controller:'Pgtyp',
action:'ajaxGetMv',
// params:'\'mv=\' + escape(this.value)',
params:'\'platform=\'+this.value+\'&mv=\'+$(\'mv\').value+\'&browser=\'+$(\'browser\').value+\'&pagetype=\'+$(\'pagetype\').value' ,
onSuccess: 'printpgtyp(data)')}"
></g:select>
<g:select from="['CHECKOUT','HOMEPAGE','OTHERS', 'DEPARTMENT', 'PRODUCT','SEARCH', '(All)','SHELF']" name="pagetype" id ="pagetype"
onchange="${remoteFunction(
controller:'Pgtyp',
action:'ajaxGetMv',
// params:'\'mv=\' + escape(this.value)',
params:'\'pagetype=\'+this.value+\'&mv=\'+$(\'mv\').value+\'&browser=\'+$(\'browser\').value+\'&platform=\'+$(\'platform\').value' ,
onSuccess: 'printpgtyp(data)')}"
></g:select>
<g:select from="['INTERNET EXPLORER','GOGGLE CHROME','SAFARI', 'MOZILLA', 'OTHERS']" name="browser" id ="browser"
onchange="${remoteFunction(
controller:'Pgtyp',
action:'ajaxGetMv',
// params:'\'mv=\' + escape(this.value)',
params:'\'browser=\'+this.value+\'&mv=\'+$(\'mv\').value+\'&pagetype=\'+$(\'pagetype\').value+\'&platform=\'+$(\'platform\').value' ,
onSuccess: 'printpgtyp(data)')}"
></g:select>
<g:select from="['AFFILIATES', 'CSE','DISPLAYADS','EMAIL','MOBILEWEB','OTHERS','ORGANIC','SEO', 'SEM']" name="mv" id = "mv"
onchange="${remoteFunction(
controller:'Pgtyp',
action:'ajaxGetMv',
// params:'\'mv=\' + escape(this.value)',
params:'\'mv=\'+this.value+\'&browser=\'+$(\'browser\').value+\'&pagetype=\'+$(\'pagetype\').value+\'&platform=\'+$(\'platform\').value' ,
onSuccess: 'printpgtyp(data)')}"
></g:select>
</form>
<script>
function printpgtyp(data)
{
console.log(data)
}
</script>
</body>
</html>
Вы взглянули на ajaxdependancyselection: https://github.com/vahidhedayati/ajaxdependanceselection внизу проверьте последний пример --- страницу поиска для MyDepartments141. Если вы не хотите использовать плагин, проверьте https://github.com/vahidhedayati/ajaxdependancyselection/blob/master/grails-app/views/autoComplete/_selectJs.gsp, который имеет функцию javascript, которая вызывает несколько доменов при первоначальном обновление стоимости – Vahid