Сгенерируйте “onChange” событие когда Входной Элемент, измененный JavaScript от Всплывающего окна

Arrays.asList возвращает вам неизменный список, следовательно, UnsupportedOperationException при добавлении. Вот javadoc, и вот что он говорит:

Возвращает список фиксированного размера , поддерживаемый указанным массивом. (Изменения в возвращаемом списке «сквозная запись» в массив.) Этот метод действует как мост между API на основе массива и на основе коллекции в сочетании с Collection.toArray (). Возвращенный список является сериализуемым и реализует RandomAccess.

blockquote>

Для вашего случая вы действительно можете сделать это без какого-либо цикла со следующей строкой (т.е. с помощью конструктора):

List temp = new ArrayList(origin);

Обновление

[ 1110] Если вы хотите отформатировать, вы можете повторить и применить формат, например:

List temp = new ArrayList<>();
for(String element : origin) {
    String formattedElement = format(element);
    temp.add(formattedElement);
}

Вот способ Java 8:

List temp = origin.stream()
    .map(e -> format(e))
    .collect(Collectors.toList());

8
задан Community 23 May 2017 в 12:12
поделиться

3 ответа

Perhaps its the cross-window that is hurting you... Try making a function inside of opener that you call instead. Might help?

In opener:

window.changeMyElement = function(value) {
  $(formelement).val(value).change();
}

From popup:

opener.changeMyElement(value);
10
ответ дан 5 December 2019 в 14:06
поделиться

Эта строка должна работать:

$(opener.document.formelement).change();

Согласно документации jQuery эта строка запускает событие изменения для каждого согласованного элемента.

Если это не работает для значит, где-то в вашем коде есть проблема. Можно ли вызвать событие onchange, изменив элемент формы вручную?

2
ответ дан 5 December 2019 в 14:06
поделиться

Вы также можете сделать:

window.opener.document.getElementById('controlname').fireEvent('onchange');

Или в вашем контексте:

$(opener.document.formelement).fireEvent('onchange');
0
ответ дан 5 December 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: