• Item 1"/>
    首页 \ 问答 \ 重新排序可排序的可拖动Jquery ui列表(Reorder a sortable dragable Jquery ui list)

    重新排序可排序的可拖动Jquery ui列表(Reorder a sortable dragable Jquery ui list)

    我有一个可排序,可拖动的Jquery UI列表

    <ul id="list">
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
      <li>Item 4</li>
      <li>Item 5</li>
    </ul>
    
    $( "#list" )
      .sortable({ handle: ".handle" })
      .selectable()
        .find( "li" )
          .addClass( "ui-corner-all" )
          .prepend( "<div class='handle'><span class='ui-icon ui-icon-carat-2-n-s'></span></div>" );
    

    你可以看到它在这里工作JSFiddle

    我能解决的是,如何自动重新排序列表。

    我想要点击的任何元素 - 不要移动 - 立即自动跳转到列表的顶部。

    有任何想法吗?


    I have a sortable, dragable Jquery UI list

    <ul id="list">
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
      <li>Item 4</li>
      <li>Item 5</li>
    </ul>
    
    $( "#list" )
      .sortable({ handle: ".handle" })
      .selectable()
        .find( "li" )
          .addClass( "ui-corner-all" )
          .prepend( "<div class='handle'><span class='ui-icon ui-icon-carat-2-n-s'></span></div>" );
    

    You can see it working here JSFiddle

    What I can work out is, how to re-order the list automatically.

    I want any element that is clicked - not moved - to immediately automatically jump to the top of the list.

    Any ideas?


    原文:https://stackoverflow.com/questions/28478560
    更新时间:2024-03-30 19:03

    最满意答案

    因为你的输出是对象数组,所以你需要使用$ .each() ,如下:

    $.getJSON('http://localhost/main/ranking/',function(data){ 
        count=0;
        $.each(data, function(i, val) {
            //do your append here using val.points, val.short_name, etc
            console.log(val.short_name);
        });
    });
    

    since your output is array of objects, so you need to use $.each(), as:

    $.getJSON('http://localhost/main/ranking/',function(data){ 
        count=0;
        $.each(data, function(i, val) {
            //do your append here using val.points, val.short_name, etc
            console.log(val.short_name);
        });
    });
    

    相关问答

    更多
    • 好的,这是我从SlickGrid插入,更新,删除到MySQL的代码 var ajaxFileURL = "fileAjax.php?action=list"; function populateList(ajaxFileURL) { var msgDelete = 'Do you really want to delete the row?'; var deleteIcon = "" ...
    • 因为你的输出是对象数组,所以你需要使用$ .each() ,如下: $.getJSON('http://localhost/main/ranking/',function(data){ count=0; $.each(data, function(i, val) { //do your append here using val.points, val.short_name, etc console.log(val.short_name); }); ...
    • 老实说,我不确定你在问什么,但如果你想用json回复,那真的很简单,PHP让我们很容易。 json_encode(array('jsonKey' => 'jsonValue', 'jsonKey2' => 'jsonValue2')); 只需使用您喜欢的机制(回声,输出缓冲区等)设置适当的标题并输出 编辑:如果你想反过来(你的脚本中有JSON数据) 请执行以下操作 $myGreatAssocArray = json_decode($jsonStringData); 然后,您最终得到一个可以轻松从中获取数 ...
    • 您可以使用唯一匹配的id创建一个数组,然后将结果作为json进行回显。 $result = array() ; foreach($rowdata as item){ if($item->id == $cId) array_push($result, $item) ; } echo json_encode($result); You can create an array with the only matching id and then echo the result ...
    • 一种方法是为AJAX调用创建一个控制器,并将所有的ajax函数放在那里。 因此,在您的示例中,在您的控制器文件夹中,您将创建一个名为ajax.php的控制器文件,并添加“function myfeed()”方法。 然后,如果你的javascript在php文件中,你的URL将是'ajax / myfeed'。 如果它不在php文件中,那么你必须将base_url()(请参阅http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html ) ...
    • 欢迎来到异步的精彩世界,在处理响应之前,您必须等待AJAX调用完成。 以下是您在回调中处理响应的方法: $("#signup_page form input[type='text']#username").keyup(function(){ validateSignupEmail($(this).val()); }); function validateSignupEmail(input){ if (input == ""){ return "Please enter yo ...
    • 将jquery.js放在您的网站根目录中并使用: 如果你想把它放在一个js文件夹中,把文件夹放在root中并执行: 或者你可以尝试这个: