我有关于输入更改的功能,它适用于已存在的第一个输入,但是当jscript添加另一个时 用appendTo输入对象,同样的功能不起作用......
$("input[type=file]").change(function() {
$('<input name="fails[]" type="file" />').appendTo('#input_lauki');
$('<a href="#" onclick="dzest(this);return false" class="link" name="dzest" style="font-weight:normal; display:inline;">Izdzēst</a><br/>').appendTo('#input_lauki')
$('.link').css('display','inline');
});
谢谢!
答案 0 :(得分:0)
您还需要使用$.on来绑定添加到DOM的新元素:
$.on("change", "input[type=file]", function() {
$('<input name="fails[]" type="file" />').appendTo('#input_lauki');
$('<a href="#" onclick="dzest(this);return false" class="link" name="dzest" style="font-weight:normal; display:inline;">Izdzēst</a><br/>').appendTo('#input_lauki')
$('.link').css('display','inline');
});
或live如果您使用旧版本的jQuery,因为它有一些特殊的处理方式,您应该在文档中阅读。
答案 1 :(得分:0)
当您定义了更改事件处理程序时,您有一定数量的输入文件,因此您稍后插入的新输入没有为该事件定义处理程序。
您应该将事件捕获到父#input_lauki
$("#input_lauki").on('change', 'input[type=file]', function() {
...
}
答案 2 :(得分:-1)
你可以尝试
$('input[type=file]').on('change',function(){
//your code
});