0

この質問に続いて:要素の属性を変更します。Liftで属性を削除するクリーンな方法があるかどうかを知りたいです。今のところ、javascriptコマンドを直接実行します。

Run("document.getElementById(\"elem_id\").removeAttribute(\"disabled\", 0);")

これを行うためのより良い方法はありますか?

たとえば、属性を編集するには、次のコマンドを使用できます。

(JqId("elem_id")~> JqAttr("disabled", "disabled")).cmd
4

1 に答える 1

1

JqJEには組み込みのremoveAttributeオプションはありませんが、独自のオプションを作成できるはずです。次のように定義すると、次のようになります。

case class RemoveAttr(key: String) extends JsExp with 
  JsMember with JQueryRight with JQueryLeft {

    def toJsCmd = "removeAttr(" + key.encJs + ")"
}

そして次のように呼び出します:

JqId("elem_id")~> RemoveAttr("disabled")

私はそれをテストしていませんが、あなたが探していることを達成するはずだと思います。

JqJE のソースはこちらにあります: https://github.com/lift/framework/blob/master/web/webkit/src/main/scala/net/liftweb/http/js/jquery/JqJsCmds.scala#L168

于 2012-10-26T17:54:40.247 に答える