2013-08-28 44 views
0

我知道你必須使用對代表團來選擇使用jQuery動態創建的元素,所以我已經使用選擇動態創建的元素與此:上不工作

$(".form_wrapper").on('change', '#imageSelect', function(){ 

但是,這是行不通的,功能不當#imageSelect被更改時正在執行。

標記有點像這樣,但爲簡單起見,我已經採取了一些措施。

<div class="form_wrapper" id="upload"> 
    <form action="..." method="post" id="audioUpload" enctype="multipart/form-data">...</form> 
    <form action="..." id="imageUpload" method="post" enctype="multipart/form-data">  
     <input type="file" name="img" value="Select an image" id="imageSelect" class="buttonClassic"> 
     <input type="hidden" name="purpose" value="track"> 
     <input type="submit"> 
    </form> 
</div> 
+1

如果'.form_wrapper'也通過動態調用產生'.on'將不起作用。使用您要添加動態內容的某個父元素。如果你不確定用'$(「body」)。on('change','.form_wrapper #imageSelect',function(){' – HamidRaza

+0

不是。'.form_wrapper'是否有頁加載 –

+1

works in jsfiddle:http://jsfiddle.net/Z8af6/ –

回答

0

你需要將你的jQuery安裝邏輯包裝在document.ready函數中。就像這樣:

$(document).ready(function(){ 
    // Setup logic goes here 
}); 

另外,還要確保你已經包括了頁面上的jQuery腳本您上面的腳本之前。