1

Scala / Lift を使用した Web アプリケーション プロジェクトに取り組んでいます。ユーザー エクスペリエンスを向上させるために、アプリケーションでドラッグ アンド ドロップをサポートしたいと考えています。

しかし、jQuery の部分を Lift でブリッジする方法がよくわかりません。

現在、私は作業中の UI パーツを持っています。div ブロックには、データベースからの ID を持つlistRowHTML5 属性でドラッグ可能なという名前のクラスがあります。data-stuffid

という名前のブロックにドラッグすることができ、JavaScript でフィールドを正しくnextAction出力できました。data-stuffid

これが私のJavaScriptコードブロックです:

<script type="text/javascript">
  $('.listRow').draggable({
      revert: true
  });

$("#nextAction").droppable({
    accept: ".listRow",
    tolerance: "pointer",
    activeClass: "dropActive",
    hoverClass: "dropHover",
    drop: function(event, ui) {
        var stuffID = ui.draggable.data("stuffid")
        console.log(stuffID)
    }
})

しかし、Lift AJAX ハンドラーを呼び出して、その場合に Lift に stuffID を渡す方法がわかりません。

私がやりたいのは、次のような Scala 関数を用意することです。

def showDialog(stuffID: String): JsCmds
{
    // Do some server side work, ex: querying database

    // Return a javascript cmds likes SHtml.ajaxButton...etc.
    Alert("SutffID:" + stuffID)
}

そして、ユーザー.listRowが "#nextAction" にドラッグするshowDialogと、呼び出され、javascript をブラウザーに返し、ブラウザーにそれを実行させます。

4

2 に答える 2

1

おそらく、これら 2 つの関数のいずれかを探しているでしょう。私は見てみたいと思います:

JsCmds.FunctionSHtml.ajaxCall

JsCmds.FunctionJavaScript 関数を作成できるようになり、SHtml.ajaxCallajax を介してコードを実行できるようになります。Lift CSS セレクターで関数を作成すると、その関数を jQuery コードから直接呼び出すことができます。

これらの両方を使用することについては多くの議論があり、関連する情報は次のとおりです。

于 2013-01-24T17:43:39.820 に答える
0

Lift から jquery を初期化するときは、lift ajax コールバックをパラメーターとして送信するだけです

于 2013-01-24T04:54:06.770 に答える