ユーザーがクリックしてさらに追加できる配列の入力タイプファイルがあります。私のコード部分のjavascriptには、変更に関するメソッドがあります
jQuery('.focus_image').on('change', function () {
alert("hello");
上記のコードでは、ユーザーがクリックして新しい入力タイプ ファイルを追加し、ディレクトリ内のファイルを参照したときに入力タイプ ファイルをテストしますが、すでに入力タイプ ファイル名のオレンジ色が完全に機能することをテストしていますが、名前のバナナには hello が表示されません。どのコードが間違っていますか? この問題を解決するのを手伝ってください。以下は私の完全なコードです
<table>
<tr>
<th>
<label for="test">test</label>
</th>
<td>
<div id="popup1">
<div id="image-zone" style="width:200px;float:left;text-align:center">
<input type='button' class='button-primary' value='Add' id='add_focus'>
<input type="file" class="focus_image" name="orange">
</div>
</div>
<script type="text/javascript">
var count_focus = 0;
var num_focus = count_focus;
var temp_focus = count_focus + 1;
var name_focus = 'Focus_DIV' + temp_focus;
jQuery(document).ready(function($) {
$("#add_focus").click(function() {
if (num_focus == 10) {
alert("Only 10 textboxes allow");
return false;
}
id_div = 'Focus_DIV' + temp_focus;
file_id_name = "file_Focus_DIV" + temp_focus;
var newTextBoxDiv = $(document.createElement('div')).attr("id", 'Focus_DIV' + temp_focus);
newTextBoxDiv.html('<input type="file" id="' + file_id_name + '" name="banana" class="focus_image">');
newTextBoxDiv.appendTo("#image-zone");
temp_focus++;
name_focus = 'Focus_DIV' + temp_focus;
num_focus++;
});
});
//Below code is doesn't work when add new input type file
jQuery('.focus_image').on('change', function() {
alert("hello");
//
});
</script>
</td>
</tr>
</table>
問題は解決できます この問題は、コード内で解決できます html 新しい要素を動的に追加し、イベントを再登録する必要があります