Как создать элемент select и установить его значение с помощью JavaScript?

Привет всем! У меня возникла проблема при работе с JavaScript. Мне нужно программно создать форму, чтобы обойти ограничения CORS (API не позволяет отправлять AJAX-запросы).

Я пытаюсь создать элемент select и задать ему значение, но что-то идет не так. Вот мой код:

let myForm = document.createElement('form');

let selectElement = document.createElement('select');
selectElement.value = 'какое-то значение';
selectElement.id = 'мой-селект';

myForm.appendChild(selectElement);
document.body.appendChild(myForm);

Но почему-то значение не устанавливается. Может, я что-то делаю неправильно? Буду благодарен за любую помощь!

Для установки значения select нужно создать и добавить option. Вот рабочий вариант:

let selectElement = document.createElement('select');
let option = document.createElement('option');
option.value = 'какое-то значение';
option.text = 'Текст опции';
selectElement.appendChild(option);
selectElement.value = option.value;

Так значение установится корректно. Еще совет - используй FormData для отправки данных формы, это упростит работу с CORS.

Для установки значения select нужно создать options. Вот как можно это сделать:

let selectElement = document.createElement(‘select’);
let option = new Option(‘Текст опции’, ‘какое-то значение’);
selectElement.add(option);

Так значение будет установлено. А чтобы обойти CORS, можно использовать прокси-сервер или настроить заголовки на сервере. Какой у тебя конкретно случай использования?

дело в том, что просто установить value для select недостаточно. нужно добавить options внутрь. вот как это можно сделать:

let selectElement = document.createElement(‘select’);
let option = document.createElement(‘option’);
option.value = ‘какое-то значение’;
option.textContent = ‘название опции’;
selectElement.appendChild(option);

теперь значение будет установлено правильно. кстати, если тебе нужно обойти cors, может стоит посмотреть в сторону server-side proxy? это часто помагает в таких случаях