2011-09-08 31 views
0
$(function(){ 
    $('.update-mod-form').bind('ajax:success', function(evt, data, status, xhr){ 
     data = $.parseJSON(data); 
     console.log(data.success); 
     console.log(data); 
     if (data.success == true) { 
      $('#page').html(data.html); 
     } 
     else { 
     } 
    }); 
}); 

您是否看到任何JS绑定可以解决绑定问题的最佳实践?此方法的工作原理是,一旦将data.html与.html方法一起添加后,该方法将不再工作。我的绑定搞砸了,我该如何解决这个问题?

data.html生成一个类.update-mod-form,它是未绑定的如何绑定这个新类?

我还应该注意到,我有这个类的多个事件,是否有可能通过这种方式将一个类的多个元素绑定到一个方法?

+0

在调用$ .parseJSON之前,您的数据看起来像什么?你可以做一个console.log(数据)并粘贴在这里? –

回答

1

如果#update-mod-form is里面#page,再经过第一个Ajax调用,这种形式(和它的绑定)被消灭了。您必须重新绑定它,或使用live而不是bind

ps。你确定事件是ajax:success而不是ajaxSucces?你为什么要使用全局事件?

+0

用.live替换.bind方法完美运行。谢谢!午餐后我一直在处理这个问题! –

0

删除“未定义”服务器端,否则就不是一个有效的JSON

+0

抱歉,这是一个console.log(data.success)它应该返回undefined,bc它不解析我的json –

+0

@JZ:你确定你的ajax不是用getJson或dataType json调用的吗? – genesis