Отрегулируйте значение другого Select после remoteFunction с помощью обновления - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу изменить выбранное значение отдельного «g: select» в «update» или «onSuccess» после удаленной функции, которая происходит в onChange.

Код GSP:

<g:select name="mainSelect"
                                  id="mainSelect"
                                  from="${mainSelect}"
                                  value="${mSelect}"
                                  optionKey="key"
                                  optionValue="value"
                                  onchange="${remoteFunction (
                                            controller: 'mainController',
                                            action: 'checkValue',
                                            params: '\'value=\' + this.value + \'&value2=\' + otherSelect.value',
                                            onSuccess: '$("#otherSelect").val(data)',
                                  )}"
                                  noSelection="['': '']"/>
<g:select name="otherSelect"
                              id="otherSelect"
                              from="${notimportant}"
                              value="${notimportant2}"
                              optionKey="key"
                              optionValue="value" />

Функция remoteVunction "checkValue" отображает "Y" или "N" в зависимости от нескольких переменных, я вышел из системы, чтобы знать, что это определенно то, что он возвращает каждый раз. Я просто не могу заставить выпадающий список измениться после этого. Мой пост не возвращает ошибок, я получаю только ошибки в зависимости от того, что находится в onSuccess или обновлении.

Я пробовал несколько вещей, таких как:

onSuccess: '$("#otherSelect").val(data)',

или

update: 'otherSelect'

1 Ответ

1 голос
/ 25 февраля 2020

http://docs.grails.org/3.0.0.M1/ref/Tags/remoteFunction.html

onSuccess (необязательно) - функция JavaScript для вызова в случае успеха

Просто нужно было сделать JS Функция для подключения к onSuccess, так как прямая Javascript не хотела работать. Вместо вышеуказанного onSuccess:

onSuccess: 'functionForSelect(data)',

Функция:

function functionForSelect(option)
{
  document.getElementById("otherSelect").value = option;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...