在scala js中使用js.eval()函数中的变量

时间:2016-11-22 06:09:38

标签: scala.js

我正在使用javascript从文本框中使用js.eval()函数获取数据,如:

val amount=js.eval("document.getElementById('amount').value;")

当我直接写id时,工作正常,即在这种情况下'amount'。但我想创建一个函数,它将接收id然后使用变量id。 我尝试使用'$'符号也像:

def getAmount(amount_id:String):Unit={
     println("Amount is : "+js.eval(s"document.getElementById(${id}).value;"))

但它不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

请勿使用js.eval。请改用Scala.js的互操作性功能:

import org.scalajs.dom
import dom.html

def getAmount(amount_id:String): Unit = {
  val input = dom.document.getElementById(amount_id).asInstanceOf[html.Input]
  println(s"Amount is : ${input.value}")
}