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

Using variables in js.eval() function in 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;"))

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

不要使用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}")
}