You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala.js如何读取input元素的value值?类型转换异常如何解决

错误原因

udash封装的jQuery的value()方法返回值为String | Int | Double | js.Array[Any]联合类型,会根据选中DOM元素的类型动态返回对应类型的值,直接使用asInstanceOf强制转换不符合Scala.js的类型安全要求,因此会抛出类型转换异常。

正确取值方案

  • 方案1:使用模式匹配安全转换
    如果你明确当前选中的是普通文本输入框,可通过模式匹配处理所有可能的返回类型,避免运行时异常:
    import io.udash.wrappers.jquery.jQ
    
    val x = jQ("#test").value() match {
      case s: String => s
      case _ => "" // 可根据业务需求替换为默认值或异常抛出逻辑
    }
    
  • 方案2:使用封装好的类型取值方法
    udash的jQuery wrapper已经预置了类型安全的取值方法,不需要手动做类型转换:
    取String类型直接调用valueAsString():
    val x = jQ("#test").valueAsString()
    
    对应数字类型输入可以调用valueAsInt()、valueAsDouble(),多选类输入可以调用valueAsArray()。

内容的提问来源于stack exchange,提问作者pathikrit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 23:36:03