序列化抛光()上的jQuery .push

时间:2015-03-05 12:42:51

标签: jquery

所以我使用serializeArray()从表单中获取数据,我还有一个bootstrap下拉菜单,我还需要发布'data-id'属性。当然我之前使用过push ...当在控制台中发布时,post var名称是未定义的并且没有值...这是我的代码:

$('#changeUserInfo').unbind().bind('submit', function(){

    var location = $('[data-dropper="location-dropdown"]').attr('location-id');

    var newData = $('[data-changeuser="info"]:last').serializeArray();

    newData.push({ location : location });

    $.post(URL+'manage_accounts/update_user', newData, function(e){
        if(e.status){
            $('.featherlight').append('<div class="success_box"><span class="glyphicon glyphicon-thumbs-up"></span><p>User updated</p></div>');
            window.location = window.location.href.split('#')[0];
        } else {
            $('.featherlight').append('<div class="fail_box"><span class="glyphicon glyphicon-thumbs-down"></span><p>Failed to update user</p></div>');
            $('.fail_box').delay(800).fadeOut();
        }
    },'json');

    return false;

});

由于

1 个答案:

答案 0 :(得分:1)

serializeArray()生成如下所示的对象数组(从文档中复制)

[
{name: "a", value: "1"},
{name: "b", value: "2"}
]

以匹配您需要执行的格式:

newData.push({ name: 'location', value: location });

参考: serializeArray() docs