0

ネストされたナビゲーションをドラッグ アンド ドロップで変更したいのですが、素敵なプラグインを見つけました。変更をデータベースに保存したいのですが、残念ながら親要素のIDを読み出せません。次に必要なのは、リスト内のドラッグされた li 要素の新しい位置です。

<script type="text/javascript" src="includes/jquery/jquery.js"></script>
<script type="text/javascript" src="includes/jquery/interface.js"></script>
<script type="text/javascript" src="includes/jquery/inestedsortable-1.0.pack.js"></script>
<script type="text/javascript">
    jQuery( function($) {
        $('#Hnav, #Nnav').NestedSortable(
            {
                accept: 'sort',
                noNestingClass: "no-children",
                helperclass: 'helper',
                autoScroll: true,
                onChange: function(serialized) {
            onStop : function(){
              $('#output').html($(this).id); // works fine
              $('#output').html($(this).parent().parent().att('id')); // fail
                  $('#output').html(this.closest('li').att('id')); // fail
            },
                nestingPxSpace : '0'
            }
        );
    });
</script>

html

<div id="sitemap">
<ul id="Hnav">
  <li id="n1"><a href="contentsite.php?cont=1">Home</a></li>
  <li id="n2" class="sort"><a href="contentsite.php?cont=2">Choir</a>
    <ul class="level2">
      <li id="n4" class="sort"><a href="contentsite.php?cont=3">lkff</a></li>
      <li id="n6" class="sort"><a href="contentsite.php?cont=5">changethis</a></li>
      <li id="n5" class="sort"><a href="contentsite.php?cont=4">History</a></li>
    </ul>
  </li>

...

何か案が?ありがとうございました。

ララ

4

2 に答える 2

4

私の推測では、呼び出している場合thisは構文でラップする必要があります。$()parent()

$('#output').html(this.id); // works fine
$('#output').html($(this).parent().parent().attr('id'));
$('#output').html($(this).closest('li').attr('id'));

編集:

あなたのコメントに応じてコードを更新しました。jQuery オブジェクトは をサポートし.idていません。使用する必要があります.attr('id')

于 2009-09-18T16:23:03.097 に答える
1

次のいずれかを使用できます。

 $('#output').html($(this).parent().parent().attr('id')); // or
 $('#output').html($(this).closest('li').attr('id')); // or
 $('#output').html(this.parentNode.parentNode.id);
于 2009-09-18T16:24:21.067 に答える