2012-12-07 50 views
0

新的和嘗試學習。PHP/jQuery重新加載DOM

我有一個頁面左側的帳戶名稱表。當我點擊其中一個帳戶名稱時,相關字段將顯示在表單中。然後,我可以更新任何字段並單擊「更新」以更新底層的SQL數據。

我也有一個文本字段和一個按鈕來添加另一個帳戶。這只是添加一個新的記錄,並將帳戶名稱作爲唯一填充字段。現在,我希望能夠點擊上述表格中的該帳戶,然後更新新帳戶的信息。但是,單擊表格中的帳戶不會導致其字段顯示在表單中。

要添加帳戶,我會向PHP頁面發佈帖子,然後將由該頁面創建的HTML加載到包含該表格的div中。到現在爲止還挺好。

$("button#new").click (function(){ 
    company = $("input#newaccount").val(); 

    $.post ('db_addaccount.php', 
    {'company':company},showaccounts) 
     return; 
    }) 

    function showaccounts(data){ 
    $('div#table').html(data) 
    } 

但是,我知道,這個新加載HTML打破了DOM,我再也不能指望點擊表中的一行,並反映了我的表單字段。

我知道.on函數,但無法弄清楚在這種特殊情況下是否/如何使用它。

任何建議,將不勝感激。

回答

1

希望您使用的是多個元素的類,例如每個帳戶,而不是相同的ID等。您需要使用on()作爲委託事件處理程序,並且在下面的示例中,tableID將是您的表的ID這不是動態)和.accounts將每個賬戶(其動態與.post的$插入功能):

$('#tableID').on('click', '.accounts', function() { 
    //do stuff 
}); 
+0

是的,我使用的類,我認爲您的建議。我的問題是,我在錯誤的事件中使用.on(事件添加一個新的帳戶,而不是我想要顯示的表。 – delpi767