Jquery 如何向sortable/nestedSortable响应添加并返回额外(第二)属性?

Jquery 如何向sortable/nestedSortable响应添加并返回额外(第二)属性?,jquery,jquery-ui,jquery-ui-sortable,nested-sortable,Jquery,Jquery Ui,Jquery Ui Sortable,Nested Sortable,我有一个使用sortable/nestedSortable的列表。我想要的是返回第二个属性。我的意思是,除了默认的返回id(menuItem_n)之外,我还想返回第二个属性,例如数据类型。我知道我可以自定义属性并更改默认属性(即id),但如何添加额外属性 例如: <ol class="sortable"> <li id="menuItem_1" data-type="type_1">Item A1</li> <li id="menuI

我有一个使用sortable/nestedSortable的列表。我想要的是返回第二个属性。我的意思是,除了默认的返回id(menuItem_n)之外,我还想返回第二个属性,例如数据类型。我知道我可以自定义属性并更改默认属性(即id),但如何添加额外属性

例如:

  <ol class="sortable">
    <li id="menuItem_1" data-type="type_1">Item A1</li>
    <li id="menuItem_2" data-type="type_1">Item A2</li>
    <li id="menuItem_3" data-type="type_1">Item A3</li>
    <li id="menuItem_4" data-type="type_2">Item B1</li>
    <li id="menuItem_5" data-type="type_2">Item B2</li>
    <li id="menuItem_6" data-type="type_2">Item B3</li>
  </ol>

好吧,我错过了一些关于插件的东西。事实上,我错过了它,因为它是一个没有添加到插件文档中的插件。根据此更新,您现在可以向li元素添加data-*属性,稍后可以使用toHierarcy输出返回这些属性。例如:

  <ol class="sortable">
    <li id="menuItem_1" data-type="type_1">Item A1</li>
    <li id="menuItem_2" data-type="type_1">Item A2</li>
    <li id="menuItem_3" data-type="type_1">Item A3</li>
    <li id="menuItem_4" data-type="type_2">Item B1</li>
    <li id="menuItem_5" data-type="type_2">Item B2</li>
    <li id="menuItem_6" data-type="type_2">Item B3</li>
  </ol>
您将返回如下字符串:

      array (
        'id' => '1',
        'type' => 'type_1',
      ),
      1 => 
      array (
        'id' => '2',
        'type' => 'type_1',
      ),
      2 => 
      array (
        'id' => '3',
        'type' => 'type_1',
      ),
      3 => 
      array (
        'id' => '3',
        'type' => 'type_2',
      ),
      4 => 
      array (
        'id' => '4',
        'type' => 'type_2',
      ),
      5 => 
      array (
        'id' => '5',
        'type' => 'type_2',
      )
当然,之后必须将字符串转换为数组,这不是什么大问题。只需将结果放入一个变量,就得到了数组。请注意,id仍然是拆分的,因此您只能获得数字部分,但将获得数据-*属性作为一个整体

$('ol.sortable').nestedSortable('toHierarchy');
      array (
        'id' => '1',
        'type' => 'type_1',
      ),
      1 => 
      array (
        'id' => '2',
        'type' => 'type_1',
      ),
      2 => 
      array (
        'id' => '3',
        'type' => 'type_1',
      ),
      3 => 
      array (
        'id' => '3',
        'type' => 'type_2',
      ),
      4 => 
      array (
        'id' => '4',
        'type' => 'type_2',
      ),
      5 => 
      array (
        'id' => '5',
        'type' => 'type_2',
      )