Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript创建select元素并设置值_Javascript_Forms - Fatal编程技术网

使用Javascript创建select元素并设置值

使用Javascript创建select元素并设置值,javascript,forms,Javascript,Forms,我需要用Javascript创建一个表单来解决CORS问题(意思是:我不能使用AJAX提交此表单,因为我使用的API不允许) 但是,我在使用Javascript设置值时遇到问题。以下内容不适用于我: var form = document.createElement("form"); var formElement = document.createElement("select"); formElement.value = "foo"; formElement.id = "bar"; fo

我需要用Javascript创建一个表单来解决CORS问题(意思是:我不能使用AJAX提交此表单,因为我使用的API不允许)

但是,我在使用Javascript设置值时遇到问题。以下内容不适用于我:

var form = document.createElement("form");

var formElement = document.createElement("select");
formElement.value = "foo";
formElement.id = "bar";

form.appendChild(formElement);

document.body.appendChild(form);

请参阅。

尝试使用
setAttribute
方法而不是value

var form=document.createElement(“表单”);
var formElement=document.createElement(“选择”);
setAttribute('value','foo');
formElement.id=“bar”;
form.appendChild(formElement);

文件.正文.附件(表格)
选择
元素有
选项
元素与之配套:

var formElement = document.createElement("select");
var optionElement = document.createElement("option");

optionElement.value = "foo";
optionElement.text = "foo"
optionElement.selected = true;

formElement.appendChild(optionElement);
formElement.id = "bar";

演示:

首先需要创建选择列表(在创建选项之前):

然后将其添加到表单中:

form.appendChild(selectList);
然后,您可以创建该选项并将其附加到
选择列表中:

var option = document.createElement("option");
option.value = 'foo';
option.id = 'bar';
option.selected = true;
option.text = 'foobar';
最后,将其附加到
选择列表
,然后将表单附加到
正文

selectList.appendChild(option);
document.body.appendChild(form);

请参阅

请考虑减去1的原因。我发布的代码有效且有效。
select
元素需要选项,否则它只是一个空白选择。您的代码没有改变OP的任何内容,您使用的是
setAttribute
,而不仅仅是定义属性。这是错误的。如果使用原始代码进行检查,则在select元素上看不到value属性。通过使用
setAttribute
您可以添加此道具,这就是问题所在:“但是我在设置值时遇到问题”也许您应该将您的问题从设置选择值更新为设置选项值。我所知道的是,我需要设置一个服务器可以获取的值。如果我知道这是选项,我就不会问堆栈溢出问题了。谢谢,我会将此标记为答案(因为这是第一个)。
selectList.appendChild(option);
document.body.appendChild(form);