无法从函数获取值到新变量

时间:2017-08-21 16:55:59

标签: javascript

我无法弄清楚为什么函数返回没有被“var”抓住。我正在使用select对象传递参数:

<select name="BILLTOSTATE" onchange="setBTS(this) >
<option value="Alabama">Alabama</option>
<option value="Alaska">Alaska</option>
ETC….

功能我希望得到这个价值:

function setBTS(val){
var lv_bts = val.value;
return lv_bts;
}

最后我想从setBTS函数设置VAR:

var lv_bts = setBTS();

另外我不知道它是否重要,但新的VAR lv_bts位于另一个函数内。谢谢。对不起这个问题。我对此很陌生,我确信答案很容易,而且在我脸上!

3 个答案:

答案 0 :(得分:1)

函数setBTS将参数作为参数,当你调用它时,你还需要提供该参数以便接收它。

这样想:

function myFunction(necessaryArgumentForFunction) {
    let internalVariable = necessaryArgumentForFunction.value;
    return internalVariable;
}
let variable = { value: 'some value' };
cont lv_bts = myFunction(variable);
console.log(lv_bts);

编辑 - (同一天)

添加与下面的线程相关的问题格式的一些细节

  • 当您设置问题时,要么简明扼要地解释您未显示的内容或添加代码段。
    • 例如:

      此方法由事件处理程序调用,该事件处理程序将其状态(this / event)作为参数传递。
    • 或者:

      let ele = document.getElementById('myEle'); ele.onChange = setBTS;
  • 另外一个好主意是添加你尝试过的任何失败的策略(带有结果)以节省你和试图帮助他们的人
  • 我个人也想包括我正在使用的任何可能与版本相关的技术(例如Node v8.1.4, npm v5.3.0)有时它可以帮助解决已知的问题或特性,如果你不熟悉的话可能不会立即显现出来与图书馆。

无论如何,我希望有所帮助:D。有一个好的。

答案 1 :(得分:0)

setBTS期待一场争论;你没有通过。

答案 2 :(得分:0)

setBTS(val)期待一个参数,当你调用函数时它不会被传递,因此val.value将是未定义的,因为val未定义