Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
Javascript 将JQSortable列表作为变量传递_Javascript_Jquery - Fatal编程技术网

Javascript 将JQSortable列表作为变量传递

Javascript 将JQSortable列表作为变量传递,javascript,jquery,Javascript,Jquery,我使用的是JQSortable,我想做的是有一个按钮,可以点击,调用一个函数,创建一个数组,其中包含“#run”中的列表 这样的函数: function setup(order2){ window.data = [document.getElementById("instance")]; window.data.push (order2); //ajax request } 我尝试过使用一系列不同的方法,比如将一个变量globaly声明为window.data当列表被更新,然后拉取该变量时,我

我使用的是JQSortable,我想做的是有一个按钮,可以点击,调用一个函数,创建一个数组,其中包含“#run”中的列表 这样的函数:

function setup(order2){
window.data = [document.getElementById("instance")];
window.data.push (order2);
//ajax request
}
我尝试过使用一系列不同的方法,比如将一个变量globaly声明为window.data当列表被更新,然后拉取该变量时,我尝试过调用函数本身来使用return获取变量,这两种方法似乎都不起作用

我从这个线程的答案开始:这让我能够提醒变量,我一直在尝试让它在其他函数中提醒它 目前我拥有的是:

$(function () {
    $( "#list, #run" ).sortable({
        connectWith: ".connectedSortable",
      stop: function setup ( event, ui ) {var order2 = $('#run').sortable('toArray'); return order2;}
    }).disableSelection();
});
我试过使用上述方法,我试过使用“更新”而不是“停止”

有人能告诉我如何将变量“order2”从jqsortable函数转换成另一个函数吗

清单:

<ul id="list" class="connectedSortable">
  <li class="ui-state-default" id='item1'>Item 1</li>
  <li class="ui-state-default" id='item2'>Item 2</li>
  <li class="ui-state-default" id='item3'>Item 3</li>
  <li class="ui-state-default" id='item4'>Item 4</li>
  <li class="ui-state-default" id='item5'>Item 5</li>
</ul>

<ul id="run" class="connectedSortable">
  <li class="ui-state-highlight" id='item6'>Item 6</li>
  <li class="ui-state-highlight" id='item7'>Item 7</li>
  <li class="ui-state-highlight" id='item8'>Item 8</li>
  <li class="ui-state-highlight" id='item9'>Item 9</li>
  <li class="ui-state-highlight" id='item10'>Item 10</li>
</ul>
由于某种原因,当我在它不工作之前这样做时,我一定是把函数调用搞砸了
抱歉,我浪费了任何人的时间,感谢所有的帮助

您尝试过接收功能吗?您是否获得order2值?将其存储在隐藏字段中,并在服务器端访问它。我尝试使用receive函数,但它仍然不起作用。我将使用隐藏字段方法,我没有想到,javascript不是我的东西。您何时调用setup(order2)?我是用这样的函数调用它的:函数display(order2){setup();window.data=[document.getElementById(“实例”)];window.data.push(order2);alert(window.data);}使用一个按钮来触发显示功能,我注意到当我使用window.data变量时,它会导致延迟,当我实际放置被拖动的对象时,而不是使用一个隐藏字段时,我是否能够在用户单击按钮时特定地拉动列表项?类似于getelementbyid的东西?这会很有帮助l如果您可以发布更多的代码,因为它与您的设置(订单2)有些混淆?如果您在stop函数中得到order2的正确值?我相信您希望将运行列表中的所有值捕获到数组中,并使用按钮单击将其传递到服务器端!是这样吗?请在调用sortable方法之前定义order2
var order2 = [];
function display(){
alert (order2);
}
$(function () {
    $( "#list, #run" ).sortable({
        connectWith: ".connectedSortable",
      stop: function setup ( event, ui ) {order2 = $('#run').sortable('toArray'); alert(order2);}
    }).disableSelection();
});