2011-09-12 53 views
1

当我运行这段代码时,它会像第一次那样执行,但是当我第二次尝试操作时什么也没有发生。任何帮助是极大的赞赏。jquery .live()函数只能工作一次

$('.delete_user').live("click",function(){ 
var $id = $(this).attr('id'); 
    var $form = $('#member_search').serialize(); 
     $.post("server_code.php",{id: $id, form: $form}, 
      function(data){ 
      $('#member_row_container').html(data).show(); 
      $('.row_standard:odd').addClass('row_alternate'); 
     }); 
    $(".div_alert").hide(); 
    $(".overlay").hide(); 
    return false; 
    }); 
+0

请在jsfiddle上设置一个工作示例,以便我们看到问题所在。 –

+1

应该发生什么?你能否多次删除一个用户? –

+0

提供您的html –

回答

0

我不认为它完全与此相关,但是您发送的数据格式不正确。试试这个:

$('.delete_user').live('click', function(e){ 
    e.preventDefault(); 
    var form = $('#member_search').serialize(), 
     data = 'id='+this.id+'&'+form; 
    $.post('server_code.php', data, function(html){ 
     $('#member_row_container').html(html).show(); 
     $('.row_standard:odd').addClass('row_alternate'); 
    }, 'html'); 
    $(".div_alert").hide(); 
    $(".overlay").hide(); 
}); 
+0

数据正好作为一个对象发送,并以这种方式自动编码.. –

+0

@Gaby aka G. Petrioli:它将被编码为id = 123&form = field1%3DValue%2B1%26field2%3DValue%2B2% 26field2%3DValue%2B2'。 – Shef

+1

ahhh ..你的意思是说,表单数据将被放在名为'form'的单个字段中..你有一个点,虽然我不知道OP是试图实现什么.. –