执行此jquery脚本的更有效方法

时间:2014-08-08 11:07:15

标签: jquery-ui jquery-ui-sortable

是否有更有效的方法来执行以下jquery脚本?我需要在脚本运行后访问4个单独的变量,然后我将使用ajax将其发送到我的数据库

var column_1 = $('#column-1').sortable("toArray");
for ( var i = 0, n = column_1.length; i < n; i++ ) {
        var v = $('#' + column_1[i] ).find('.inner').is(':visible');
        column_1[i] = column_1[i] + ":" + v;
}

var column_2 = $('#column-2').sortable("toArray");
for ( var i = 0, n = column_2.length; i < n; i++ ) {
        var v = $('#' + column_2[i] ).find('.inner').is(':visible');
        column_2[i] = column_2[i] + ":" + v;
}

var column_3 = $('#column-3').sortable("toArray");
for ( var i = 0, n = column_3.length; i < n; i++ ) {
        var v = $('#' + column_3[i] ).find('.inner').is(':visible');
        column_3[i] = column_3[i] + ":" + v;
}

var column_4 = $('#column-4').sortable("toArray");
for ( var i = 0, n = column_4.length; i < n; i++ ) {
        var v = $('#' + column_4[i] ).find('.inner').is(':visible');
        column_4[i] = column_4[i] + ":" + v;
}

1 个答案:

答案 0 :(得分:0)

此代码尚未经过测试。但是应该工作正常,做你需要做的事情。 ^^

function x ()
{
    var columns = new Array();
    columns.push({
        column_1 : $('#column-1').sortable("toArray"),
        column_2 : $('#column-2').sortable("toArray"),
        column_3 : $('#column-3').sortable("toArray"),
        column_4 : $('#column-4').sortable("toArray")
    });
    $.each(columns, function (key, item) 
    {
        SaveToDatabase(item);
    });
}

function SaveToDatabase (yourArray)
{
    $.each(yourArray, function (key, item) {
        var v = $('#' + item).find('.inner').is(':visible');
        item = item + ":" + v;
    });
}