Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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 正在尝试从aray的下拉列表中提取值_Javascript_Html_Arrays - Fatal编程技术网

Javascript 正在尝试从aray的下拉列表中提取值

Javascript 正在尝试从aray的下拉列表中提取值,javascript,html,arrays,Javascript,Html,Arrays,我已经编写了一些代码,将数组中的每个数字(这取决于for循环)分配给它们一个HTML选项标记,然后将它们插入一个选择列表中。结果是一个下拉菜单,范围为“1”到“100” 我的问题是,我想从我创建的下拉菜单中选择一个数字,这样我就可以存储或显示它的值,但不知道如何存储 例如:假设我有一个等式X*2。我希望能够从下拉列表中选择一个数字,并使X等于该值(我从菜单中选择3,那么结果应该是6) 任何帮助都将不胜感激 HTML <p> <select id="selectLvl"&

我已经编写了一些代码,将数组中的每个数字(这取决于for循环)分配给它们一个HTML选项标记,然后将它们插入一个选择列表中。结果是一个下拉菜单,范围为“1”到“100”

我的问题是,我想从我创建的下拉菜单中选择一个数字,这样我就可以存储或显示它的值,但不知道如何存储

例如:假设我有一个等式X*2。我希望能够从下拉列表中选择一个数字,并使X等于该值(我从菜单中选择3,那么结果应该是6)

任何帮助都将不胜感激

HTML

<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;i
onchange
事件,应该执行此操作

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);
});