2016-04-08 12 views
1

私は、ユーザーがさらに行を追加できる動的な表を設計しました。 及び()1行目の入力 そのランではなく、関数がjavascript関数.change()はクローンされた要素では実行されません

私のバイオリンはhere

次のようにコードでは実行されない次の(クローン)の要素の関数.changeがあります

$(document).ready(function(){ 
$("#btnAddItemAssignee").click(function(e){ 
    e.preventDefault();   
    $(".oAssignee:last").clone().insertAfter(".oAssignee:last"); 
    $(".oAssignee:last").find("#txtAssigneeType").val(""); 
    $(".oAssignee:last").find("#txtAssigneeId").val(""); 
}); 
}); 

$("body #txtAssigneeType").change(function(){ 
if ($(this).val()=="Individu") 
{ 
    console.log($("body #txtAssigneeType").length); 
    alert("call me");  
} 
}); 
+1

https://jsfiddle.net/rayon_1990/qp45z2f2/1/ – Rayon

+2

https://learn.jquery.com/events/event-delegation([ 'イベントdelegation']についての記事を読みます/) – Rayon

+2

__IDはユニークである必要があります.__ – Rayon

答えて

-1

私はそれが.clone(true)trueを追加する必要があり、解決策を見つけました。

+1

はいtrueをパラメータとして渡すと、データとイベントが複製されます。 –

0

.. #txtAssigneeType ..あなたはすべてのドロップダウンのために同じIDを使用しているので、それがある$(".oAssignee:last").clone().insertAfter(".oAssignee:last");

$(".oAssignee:last").clone("true").insertAfter(".oAssignee:last"); 

Demo

0

と交換し、新しいグループを追加しているときにそれを変更します..

例:ランダムIDを追加 #txtAssigneeType1、 #txtAssigneeタイプ2、 #txtAssigneeType3

0

は2つの引数を受け入れます。最初は"withDataAndEvents"、もう1つは"deepWithDataAndEvents"です。

デフォルトでは両方の値がfalseです。

ステートメントをこれに変更すると、データとイベントが複製されます。

$(".oAssignee:last").clone(true).insertAfter(".oAssignee:last"); 

https://api.jquery.com/clone/

関連する問題