Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从sortable()中获取toArray值_Jquery_Arrays_Jquery Ui_Jquery Ui Sortable - Fatal编程技术网

Jquery 从sortable()中获取toArray值

Jquery 从sortable()中获取toArray值,jquery,arrays,jquery-ui,jquery-ui-sortable,Jquery,Arrays,Jquery Ui,Jquery Ui Sortable,我很确定我在做一些愚蠢的事情,因为这似乎是一个非常基本的问题 我正在短列表中使用sortable(),并希望返回排序列表的ID数组。我的代码可以工作,我可以在函数中执行console.log来正确显示已排序的ID。但是,我一辈子都不知道如何让这个阵列在全球范围内使用 这是我的密码: $(function() { var sortedGrades = []; $('#sortable').sortable({ //connectWith: '.sortable-

我很确定我在做一些愚蠢的事情,因为这似乎是一个非常基本的问题

我正在短列表中使用sortable(),并希望返回排序列表的ID数组。我的代码可以工作,我可以在函数中执行console.log来正确显示已排序的ID。但是,我一辈子都不知道如何让这个阵列在全球范围内使用

这是我的密码:

  $(function() {
    var sortedGrades = [];
    $('#sortable').sortable({
        //connectWith: '.sortable-list',
        update: function(event, ui) {
            var sortedGrades = $(this).sortable('toArray');

            console.log(sortedGrades);

        },
        create: function( event, ui ) {
            var sortedGrades = $(this).sortable('toArray');

            console.log(sortedGrades);
        }

    });

    $( "#sortable" ).disableSelection();
  });

});
如果我使用
sortedGrades=[]全局声明sortedGrades数组,当我稍后尝试将该数组调用到另一个函数时,该数组为空。如果我不全局声明它,当我试图调用它时,它会错误为未定义


你知道我遗漏了什么吗?

每次声明一个新的
sortedGrades
变量时,重写你要声明的
var
关键字,该变量仅在声明它的函数中可见

尝试:

$(function() {

    var sortedGrades = [];

    $('#sortable').sortable({
        //connectWith: '.sortable-list',
        update: function(event, ui) {
            sortedGrades = $(this).sortable('toArray');
            console.log(sortedGrades);
        },
        create: function( event, ui ) {
            sortedGrades = $(this).sortable('toArray');
            console.log(sortedGrades);
       }
    });

   $( "#sortable" ).disableSelection();

});

每次重新声明一个新的
sortedGrades
变量时,重写要重新声明的
var
关键字,该变量仅在声明它的函数中可见

尝试:

$(function() {

    var sortedGrades = [];

    $('#sortable').sortable({
        //connectWith: '.sortable-list',
        update: function(event, ui) {
            sortedGrades = $(this).sortable('toArray');
            console.log(sortedGrades);
        },
        create: function( event, ui ) {
            sortedGrades = $(this).sortable('toArray');
            console.log(sortedGrades);
       }
    });

   $( "#sortable" ).disableSelection();

});

我已经把它修好了,不过如果有人能向我解释为什么这样做有效,我会很感兴趣

我将代码更改为:

    $('#sortable').sortable({

        update: function(event, ui) {
            sortedGrades = $(this).sortable('toArray');
            sortedGrades2 = sortedGrades ;
            console.log(sortedGrades);
        },
        create: function( event, ui ) {
            sortedGrades = $(this).sortable('toArray');
            sortedGrades2 = sortedGrades ;
            console.log(sortedGrades);
        }

    });

    $( "#sortable" ).disableSelection();


  });

});
(即,我添加了
sortedGrades2=sortedGrades;
行)


然后我将
sortedGrades2
调用到我的另一个函数中。我不明白为什么我要这么做,但它是有效的。目前,我认为这两个数组实际上都没有在任何地方声明。

我已经修复了它,不过如果有人能向我解释为什么这样做是有效的,我会很感兴趣

我将代码更改为:

    $('#sortable').sortable({

        update: function(event, ui) {
            sortedGrades = $(this).sortable('toArray');
            sortedGrades2 = sortedGrades ;
            console.log(sortedGrades);
        },
        create: function( event, ui ) {
            sortedGrades = $(this).sortable('toArray');
            sortedGrades2 = sortedGrades ;
            console.log(sortedGrades);
        }

    });

    $( "#sortable" ).disableSelection();


  });

});
(即,我添加了
sortedGrades2=sortedGrades;
行)


然后我将
sortedGrades2
调用到我的另一个函数中。我不明白为什么我要这么做,但它是有效的。目前,我认为这两个数组实际上都没有在任何地方声明。

谢谢。如果我这样做,当我在函数
gradeSort(type,sortedGrades)中调用它时,sortedGrades仍然是未定义的或者,如果我放置
var sortedGrades=[]
在document.ready上,数组作为空数组发送到gradeSort函数。谢谢。如果我这样做,当我在函数
gradeSort(type,sortedGrades)中调用它时,sortedGrades仍然是未定义的或者,如果我放置
var sortedGrades=[]
在document.ready上,数组作为空数组发送到gradeSort函数。