2016-04-21 76 views
0

我在那裏我附上的OnChange方法類似如何從添加新記錄

$(document).ready(function() { 
    $('#fieldId').change(function() { 
    ... 
    } 
} 

表單時,但我有情況下,當我添加一個新的記錄id爲「fieldId」附加委託功能爲

function addTeamMember() { 
var newItem= "<input id='fieldId' type='text'>" 
$("#other").append(newItem); 
... 
} 

但是,當我更改新添加的字段時,更改未被觸發。有人能幫我一個想法嗎?

謝謝。

+0

首先,不要對多個元素使用相同的'id'(即使在動態創建時) – haim770

回答

2

更改onchange事件監聽器:

$('body').on('change', '#fieldId', function() { 
    // ... 
} 

你可以用一個包裝動態任何容器代替「身體」添加DOM元素。這樣,您就可以將事件委託給現有的或不存在的元素。

+0

更好的方法是儘可能地將元素綁定到元素上(通常是綁定到它們的容器元素),而不是'body'。 – haim770

+0

太棒了!謝謝! –

+0

,因爲我不知道他的DOM結構,我說'身體',並在下面說,他需要的是一些容器周圍的DOM元素 – Jumpa