#javascript
#javascript
Вопрос:
У меня есть множественный выбор, и каждый раз, когда происходит событие изменения, я хочу, чтобы значения выбранных элементов div добавлялись к тексту текста. Я использую цикл forEach для запуска ajax-запроса, и ответ каждый раз устанавливается в текстовое поле (в данном случае это текстовое поле). Кажется, не имеет значения, выбираю ли я в порядке section 1
, тогда section 2
или section 2
тогда section 1
два раздела всегда находятся в одном и том же порядке. (раздел 2 поверх раздела 1).
В этом случае значения являются частями буквы. Таким образом, это всегда тело письма поверх вступления, что, очевидно, противоположно тому, что я хочу.
Я думал, что проблема заключалась в команде, которую я использовал для установки значения textarea, но я изменил код, чтобы просто добавить разделы в переменную like body = section
(в forEach) и console.log
it . Происходит то же самое.
Вот мой код:
$('#my-select').change(function() {
//empties the textarea
tinymce.get('elm1').setContent("");
//Array of the selected values
let codes = $('#my-select').val();
codes.forEach(function(code) {
let data = {
action: 'getSectionByCode',
code: code
}
//returns an object
let sections = $.parseJSON($.ajax({
url: '/modules/ajax/ajax_handler.php',
type: "POST",
data:data,
async: false
}).responseText);
//Set the contents of the editor to be section.body
tinymce.get("elm1").execCommand('mceInsertContent', false, sections.body);
//Alternative tried
//body = sections.body
})
});
Таким образом, на каждом изображении разделы справа от мультиселекта расположены в 2 разных порядках, но содержимое слева одно и то же
Жирный текст начинается там, где start of letter
начинается. Итак, на каждом изображении он находится внизу
Комментарии:
1. Можете ли вы прикрепить скриншот?
2. Или воспроизводимый пример на codesandbox / codepen / jsfiddle был бы очень признателен
3. @TasosBu я отредактировал его с помощью скриншотов
4. Я считаю, что проблема заключается в методе t mceInsertContent. В нем говорится, что он «вставляет содержимое в положение курсора». Вы пробовали
setContent()
сprevContent newContent
?5. @TasosBu я тоже думал, что это проблема. Но, как я уже сказал, если я не использую tinymce и просто присваиваю
sections.body
переменной, каждый раз она выдает один и тот же порядок. Я не возражаю, если есть способ установить его в правильном порядке в переменную. Потому что тогда я могу использовать переменную
Ответ №1:
Если я правильно понимаю, вы должны иметь возможность сортировать codes
массив перед циклом, чтобы определить порядок разделов.