2012-01-04 14 views
0

次のように私は<ul>内アイテムのセットを持っている:カスタムHTMLデータに対して操作を実行しますか?

<li class="word" id="apple" data-letters="5" draggable="true">apple</li> 
<li class="word" id="ball" data-letters="4" draggable="true">ball</li> 

は私が合計を他の<ul> Sにこれらの項目をドラッグする(現在はソート可能jQueryUIを使ってこれを行う)して出力する機能を持つことができるようにしたいです各ターゲットの文字数(合計はdata-lettersの値)<ul> ...

これはできますか?もしそうなら、いくつかの指摘は非常に高く評価されるでしょう。

+0

確かに、これは行うことができます。これまでに何を試しましたか? –

+0

実際には、計算の設定をどこから始めるべきか分かりません。おそらく最初のステップとして、ul id 'target1'内のクラス 'word'ですべてのli要素を取得できる必要がありますが、どうすればよいか分かりません。 – kolys

答えて

2
$(function() { 

      var updateTotal = function(event, ui) 
      { 
       var total = 0, 
        $list = $(ui.sender); 
       $list.find(".word").each(function() { 
        total += Number($(this).attr("data-letters")); 
       }); 
       $("#" + $list.attr("id") + "-totals").html(total); 
      }; 

    $("#sortable1, #sortable2").sortable({ 
        receive: updateTotal, 
        remove: updateTotal, 
     connectWith: ".connectedSortable" 
    }).disableSelection(); 
}); 

これはあなたの合計を表示するHTMLタグにid = "sortable1-合計" とid = "sortable2-合計を" 持っていることを前提としてい

+0

素晴らしい、ありがとう - 私はまた、私はまた、動的に各liのドロップイベントでこの関数を呼び出すことによってこのアップデートを持つことができると仮定していますか? – kolys

+0

また、alert(total);ではなく、...を確認するために、 'document.getElementById( 'target1Total')を使用できますか?innerHTML = total;'? – kolys

+0

ソート可能なウィジェットに* receive *イベントと* remove *イベントがあります。 (http://jqueryui.com/demos/sortable/#events)ui.senderプロパティはリストです。また、jQueryのチュートリアルも読んでください。 $( '#target1Total')。html(total)は、jQuery形式の開発において非常に好まれるでしょう。 –

関連する問題