2011-04-11 82 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