有時通過ajax成功上傳完文件後,需要清除input type=”file”域中的值,但是通過Jquery的val()方法對標籤設置空值並不能達到目的,可以採用Jquery的clone()方法來達到清空標籤值的目的。
詳細代碼如下:
<input id="upload" type="file">
var file = $("#upload");
// 對當前input標籤進行clone並插入其下方
file.after(file.clone().val(""));
// 刪除原有的input標籤
file.remove();
使用這種方法會導致input標籤原本綁定的事件失效,我們可以使用Jquery的動態綁定方法(適用於爲動態創建的元素綁定事件),如下:
$('body').on('change', '#upload', function() { // 動態綁定id爲upload元素的change事件
// do something...
});