0

項目をリストにドラッグすると、送信を除いて次の jQuery が実行されます。

jQuery:

...
$( "#group ul" ).droppable({
    activeClass: "ui-state-default",
    hoverClass: "ui-state-hover",
    accept: ":not(.ui-sortable-helper)",
    drop: function( event, ui ) {
        // ****** THIS WORKS
        $( "<li></li>" ).text( ui.draggable.text() ).appendTo( this );
        // ****** THIS IS NOT EXECUTING
        $(this).parents('form: first').submit();
        return false;
    }
...

団体ごとに様式があります。最初のフォーム ID は 0、2 番目のフォーム ID は 1、というようになります (ソース ビュー)。

<div id="team">
   <form accept-charset="UTF-8" action="/items/create_from_drop" data-remote="true" html="{:id=&gt;0}" method="post">
      ...
      <input id="group_id" name="group_id" type="hidden" value="3" />
      <ul>
          ... item list
      </ul>
   </form>

   <form accept-charset="UTF-8" action="/items/create_from_drop" data-remote="true" html="{:id=&gt;1}" method="post">
      ...
      <input id="group_id" name="group_id" type="hidden" value="5" />
      <ul>
          ... item list
      </ul>
   </form>
</div>

2 つの問題があります。

  1. まず、ドロップが発生したときに、同じイベントでフォームの送信をトリガーできることを望んでいました。それは起こっていません。
  2. 「form:first」を送信しました。IDに基づいてフォームを送信するようにセレクターを変更するにはどうすればよいですか?

ご協力いただきありがとうございます。

4

1 に答える 1

2

親の代わりにclosest()を使用してみてください。これにより、要素が1つだけ取得されます。それ以外に、フォームにonSubmitイベントがあるかどうか、および問題がこのハンドラーにないかどうかを確認してください。

何かを実現した…。

$( "#group ul").droppable..で

idグループの要素はどこにありますか?

于 2012-06-22T19:09:18.267 に答える