ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

【jQuery】input[type="file"]をクリアしたい

チェックボックスとかで、input[type="file"]をクリアしたくなった。

ただ、こいつだけはセキュリティの関係から、簡単にクリアすることができないので、clone()を使う必要がある。ようは、一旦削除して、空っぽを書き込む流れである。

 $('#inputFileType').replaceWith($('#inputFileType').clone());

これでよし。。。。と思ったら、自分のソースだが、このinput[type="file"]には、onでイベントを付けていた。

また、バインドさせるの面倒くさいのでどうにか引き継げないかなとおもったら、clone()trueを渡せばいいとのこと!便利!

 $('#inputFileType').replaceWith($('#inputFileType').clone(true));

これで、cloneしたdomにもイベントを引き継げることができた。