Javascript 正在尝试从aray的下拉列表中提取值
我已经编写了一些代码,将数组中的每个数字(这取决于for循环)分配给它们一个HTML选项标记,然后将它们插入一个选择列表中。结果是一个下拉菜单,范围为“1”到“100” 我的问题是,我想从我创建的下拉菜单中选择一个数字,这样我就可以存储或显示它的值,但不知道如何存储 例如:假设我有一个等式X*2。我希望能够从下拉列表中选择一个数字,并使X等于该值(我从菜单中选择3,那么结果应该是6) 任何帮助都将不胜感激 HTMLJavascript 正在尝试从aray的下拉列表中提取值,javascript,html,arrays,Javascript,Html,Arrays,我已经编写了一些代码,将数组中的每个数字(这取决于for循环)分配给它们一个HTML选项标记,然后将它们插入一个选择列表中。结果是一个下拉菜单,范围为“1”到“100” 我的问题是,我想从我创建的下拉菜单中选择一个数字,这样我就可以存储或显示它的值,但不知道如何存储 例如:假设我有一个等式X*2。我希望能够从下拉列表中选择一个数字,并使X等于该值(我从菜单中选择3,那么结果应该是6) 任何帮助都将不胜感激 HTML <p> <select id="selectLvl"&
<p>
<select id="selectLvl">
<option>Choose your Level:</option>
</select>
</p>
选择您的级别:
JavaScript
var lvlStart = 1;
var lvlEnd = 101;
var arr = [];
while (lvlStart < lvlEnd) {
arr.push(lvlStart++)
}
var selectLvl = document.getElementById("selectLvl");
for (var i = 0; i <arr.length; i++) {
var opt = arr[i];
var el = document.createElement("option");
el.textContent = opt;
el.value = opt;
selectLvl.appendChild(el);
}
var lvlStart=1;
var=101;
var-arr=[];
while(lvlStart 对于(var i=0;ionchange
事件,应该执行此操作
var lvlStart=1;
var=101;
var-arr=[];
while(lvlStart 对于(var i=0;i,您可以使用jQuery使其简短如下
var lvlStart = 1;
var lvlEnd = 101;
var selectLvl = document.getElementById("selectLvl");
for (var i=lvlStart ; i<= lvlEnd ; i++){
var el = document.createElement("option");
el.textContent = opt;
el.value = opt;
selectLvl.appendChild(el);
}
该属性可用于获取当前选定的值:
for(var i=1;i
- 通过其id访问
- 遍历for循环并在其中创建选项
- 使用
setAttribute()
为每个选项设置值
- 将其附加到
中
事件
- 将
change
事件添加到
- 使用获取所选的值
el.options[el.selectedIndex].value
- 将此值作为参数放入自定义函数中,此处为
double()
- 使用
push()
将此值存储在数组中
示例
(选择几个数字以查看其工作原理)
var-level=document.getElementById(“level”),
存储=[];
双功能(n){
返回n*2;
}
对于(i=1;i<101;i+=1){
var option=document.createElement(“选项”);
option.setAttribute(“值”,i);
option.innerHTML=i;//或textContent
级别。追加子级(选项);
}
level.addEventListener(“change”,function(){//addchange事件
var value=this.options[this.selectedIndex].value;
警报(双(值));
存储。推送(双倍(值));
警报(存储);
});
选择您的级别:
我不认为jQuery是OP这次的好选择,因为考虑到他的情况,比如在学校学习谢谢,但正如Jacky提到的,我希望用Javascript来实现这一点。我应该在问题中说得更清楚。
$('#selectLvl').change(function(){
var x=this.value;
var answer=Number(x)*2;
alert('Answer= '+ answer);
});