appendTo对象不会对jquery更改采取操作

时间:2012-04-26 08:15:30

标签: javascript jquery input appendto

我有关于输入更改的功能,它适用于已存在的第一个输入,但是当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');

});

谢谢!

3 个答案:

答案 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() {
 ...
}

示例小提琴:http://jsfiddle.net/TwWEt/

答案 2 :(得分:-1)

你可以尝试

$('input[type=file]').on('change',function(){

 //your code


});