HTML-Select-Tag-如何在不使用eval()的情况下将字符串值转换为javascript?

时间:2019-05-22 23:06:27

标签: javascript html forms dom

我读过一些文章,这不是在JavaScript中使用 eval()方法的好习惯。因此,我想找到一种在 selectedColorValue 上获得相同值而无需使用 eval()并能够操纵该值的方法。 我已经尝试过

const selectedColorValue = color.options [color.selectedIndex];但任何成功。

HTML

<select name="" id="color">
     <option value="blue">blue</option>
     <option value="red">red</option>
     <option value="green">green</option>
</select>

JAVASCRIPT

 const color = document.getElementById('color');

 //const selectedColorValue = eval(color.value);

2 个答案:

答案 0 :(得分:2)

似乎不需要评估,只需从元素本身中检索value属性,它将其返回到变量color

const color = document.getElementById('color').value; 

或者如果您希望将元素保留为变量:

const color = document.getElementById('color'); 
const selectedColorValue = color.value;  //No need for eval

答案 1 :(得分:0)

您只是在脚本中缺少.value,就像这样:

请点击下面的Run code snippet蓝色按钮。

function getValue()
{

const color = document.getElementById('color').value;
console.log(color);

}
<select name="" id="color" onchange='getValue()'>
     <option value="blue">blue</option>
     <option value="red">red</option>
     <option value="green">green</option>
</select>