使用jQuery动态添加div并通过AJAX提交它们

时间:2011-08-25 20:37:33

标签: php jquery ajax usability

我正在开发一些阻塞问题。

我们的想法是让客户拥有多个地址。因此,当您看到客户“个人资料”时,您会看到一个选择框,其中标记了所有他/她的地址,因此您只能看到所选地址。

他们真的在那里,但隐藏着一些javascript / jquery。

因此,添加新地址时会出现问题。我不知道怎样才能添加更多的dinamically。我所做的是有一个空的隐藏div,所以,当你按下添加地址按钮时,它会显示div并让你填写表格但是我不知道如何添加多个然后保存它们。

问题在于可用性和编程。可用性部分是您可能已经使用您要添加的地址显示div但是如果您尝试添加新的div会发生什么?应隐藏吗?如果是这样,应该有一种方法可以让它们恢复,以防你需要更改某些数据,或者如果你不隐藏它们,你可能会以一个非常大的滚动条结束。

然后,我保存每个地址div的信息,我会在这里粘贴我的代码:

$('.form-direcciones').each(function(){
    var ajData = $(this).serialize();
    var idDireccion = $(this).attr('id');
    if (idDireccion === 'form-nueva-direccion'){
        ajData = ajData + '&action=insertar'+
                '&cod_cliente='+cod_cliente;
    }
    else{
        idDireccion = idDireccion.split('-');
        ajData = ajData + '&cod_dir='+idDireccion[2] +
            '&action=' + action +
            '&cod_cliente=' + cod_cliente;
    }

    $.ajax({
        type: "POST",
        url: "controllers/direccion.php",
        async: false,
        data: ajData,
        dataType: "html",
        cache: false
    });
});

正如您所看到的,它会检查div的ID是否是我使用的ID,但即使使用该解决方案,对我来说也似乎有点脏。

此外,我遇到了重复ID的问题......

1 个答案:

答案 0 :(得分:0)

看看这个jsfiddle

http://jsfiddle.net/Z3JPW/12/

我已经完成了基础知识,让您了解如何做客户端的事情。您可以执行所有操作,例如编辑和删除以及在客户端插入所有内容,最后将数据带到服务器端持久性。