2011-04-11 64 views
0
$('#save').click(
      function(){ 
           alert('run'); 
       update_form('get_form','main_content',true); 
      } 
); 

嗨,我在我的程序有问题.....请帮我T.T.jQuery的问题@。@

上述功能无法运行。我认为线索应该在这里。

$.ajax({ 
...... 
$('#' + divtoupdate).html("<input type='submit' id='save' name='save' value='Save'/>"); 
}) 

所有的Ajax部分是确定的,我想这是因为DOM问题? 点击()创建我运行AJAX之前。(我有行动之前,我得到了输入)这是造成点击功能故障。这个问题的任何解决方案^^ thx

+6

无论我怎样努力,我不知道从你的问题的话。也许问题出在我身上。 – 2011-04-11 10:02:25

回答

1

Yes..for上“拯救”的点击功能按钮的工作......当页面加载...尝试运行单击ajax function..it后应该存在应工作正常然后.. 即使Live功能将起作用---即使将来添加它也会照顾元素。

$('#Save').live('click',function(){ 
//ur code here 
}); 

但Live不适用于旧浏览器。

0

我认为你想说的是,第一位代码将无法工作,因为第二位代码还没有运行。这第二位代码添加了第一位工作的HTML。

在这种情况下,尝试live()函数,而不是click()

1

您需要使用$ .live锻炼事件处理上动态地添加元素。

$('#save').live('click', function(){ ... }); 
0

您需要在创建对象后添加点击处理程序。您可以将您现有的处理程序代码添加到ajax成功中,在创建#save元素的行之后。

0

好的,试试把你的$('#save').click放入你的ajax回调函数中。

$.ajax({ 
...... 
$('#' + divtoupdate).html("<input type='submit' id='save' name='save' value='Save'/>"); 
$('#save').click(
      function(){ 
           alert('run'); 
       update_form('get_form','main_content',true); 
      } 
); 
}) 
+0

非常感谢您的答案 – Leon 2011-04-11 10:54:40

0

尝试这个...你加入真实元素后添加的功能...

$.ajax({ 
...... 
$('#' + divtoupdate).html("<input type='submit' id='save' name='save' value='Save'/>"); 
$('#save').click(
      function(){ 
           alert('run'); 
       update_form('get_form','main_content',true); 
      } 
); 

}) 
+0

thx但我可以使用绑定,并可以解释升技这将发生?^^当我把这个函数内联它可以工作。 – Leon 2011-04-11 10:45:29

+0

你以前的代码不工作,因为'onclick'处理程序在元素存在之前被声明,所以处理程序被引用为null ....在这里你添加它,一旦元素存在...现在它被引用并正确链接 – 2011-04-11 10:48:20

+0

好thx很多,旁边的解决方案,我可以重新绑定事件? – Leon 2011-04-11 10:50:17