2011-08-25 63 views
0

我遇到了一些阻塞问题,我正在开发一些东西。使用jQuery随时添加div,并通过AJAX提交它们

这个想法是让客户可能有多个地址。所以,当你看到客户的“个人资料”时,你有一个选择框,其所有的他/她的地址被标记,所以你只能看到被选中的那个。

他们真的存在但隐藏着一些javascript/jquery。

因此,添加新地址时出现问题。我不知道我该如何补充更多的消息。我所做的是有一个隐藏的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的问题...

回答

0

就在这个的jsfiddle

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

我也做了基本知识,给你一个想法来看看关于如何做客户端的东西。你可以做任何事情,比如编辑和删除,并在客户端插入所有内容,最后将数据提交给服务器端持久化。

+0

它对我很好:D –

相关问题