【问题标题】:jquery sortable > nested ulsjquery可排序>嵌套uls
【发布时间】:2010-10-31 18:54:08
【问题描述】:

我正在尝试在主列表中嵌套多个列表。目标是组织菜单和子菜单。

html:

<ul id="pages_0" class="sortable-list">
  <li id="page_14">home
    <ul id="pages_14" class="sortable-list">
      <li id="page_21">nieuwsarchief</li>
      <li id="page_19">waarom bouwelement</li>
      <li id="page_20">vacatures</li>
    </ul>
  </li>
  <li id="page_23">ondersteuning
    <ul id="pages_23" class="sortable-list">
      <li id="page_24">brochures</li>
      <li id="page_25">constructie</li>
    </ul>
  </li>
  <li id="page_18">producten</li>
  <li id="page_26">contact</li>
  <li id="page_28">referenties</li>
  <li id="page_11">projectaanpak
    <ul id="pages_11" class="sortable-list">
      <li id="page_15">advies</li>
      <li id="page_13">productie</li>
      <li id="page_12">tekenwerk</li>
    </ul>
  </li>
</ul>

当前代码:

$(".sortable-list").sortable({ 更新:函数(){ $.post('/pages/order/0/, $('#pages_0').sortable("serialize", {key: 'pages_0[]'})) } }); $(".sortable-list").disableSelection();

但是,当我设置它时,发送的 var 当然是“pages_0”。

所以,我正在尝试:

$('ul.sortable-list').each(function() { pid = ''; pid = $(this).attr('id').split('_'); pid = pid[1]; 警报(PID); $('#pages_'+pid).sortable({ 更新:函数(){ $.post('/pages/order/'+pid, $('#pages_'+pid).sortable("serialize", {key: 'pages_'+pid+'[]'})) } }); $('#pages_'+pid).disableSelection(); 警报(PID); });

但是,我的问题:在我的情况下:如果我使用第二个 jquery,每当我排序时,我都会得到“11”(来自 pages_11,最后一个 ul)。我当然想要父 ul 的 id。关于解决这个问题的任何想法?谢谢!

【问题讨论】:

    标签: jquery list nested jquery-ui-sortable


    【解决方案1】:

    除非您使用 var 限定 pid,否则它将是一个全局变量,并且将为所有更新函数分配最后一个值。

    试试这个:

    $('ul.sortable-list').each(function() {
        var pid = $(this).attr('id').split('_')[1];
        alert(pid);
        $('#pages_'+pid).sortable({
            update: function() {
                $.post('/pages/order/'+pid, $('#pages_'+pid).sortable("serialize", {key: 'pages_'+pid+'[]'}))
            }
        });
        $('#pages_'+pid).disableSelection();
        alert(pid);
    });
    

    【讨论】:

      猜你喜欢
      • 2011-02-18
      • 2016-05-15
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 2012-11-06
      相关资源
      最近更新 更多