2012-04-26 5 views
0

私は入力変更の機能を持っていますが、すでにそこにある最初の入力に対しては機能しますが、jscriptが別のものを追加するとき
appendToを持つ入力オブジェクトは、 。appendToオブジェクトはjqueryの変更に対してアクションを取らない

$("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'); 

}); 

ありがとう!それはあなたが読むべきいくつかの特別な処理を持っているので、あなたはjQueryの古いバージョンを使用している場合

$.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:あなたにもDOMに追加された新しい要素をバインドする$.onを使用する必要が

答えて

0

ドキュメントについて

+0

$選択された要素に適用する必要があります.on:例では、 '$( '#のinput_laukiをお読みください').on(' change '、' input [type = file] '' –

-1

あなたは、あなたが入力ファイルの定義された量を持っていたあなたの変更イベントハンドラを定義したとき

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

//your code 


}); 
+0

'live'は新しいjqueryバージョンでは非推奨です。代わりに' on() 'を使うべきです – fcalderan

0

を試みることができるので、あなたが後で挿入し、新たな入力は、そのイベント用に定義されたハンドラを持っていません。

あなたの代わりに親#input_lauki

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

例フィドルにイベントをキャプチャする必要があります。http://jsfiddle.net/TwWEt/

関連する問題