これはかなり基本的な質問ですが、私はこの問題に苦しんでいます。jQueryの動的イベントバインディング
私のフォームには、テーブルに新しい行を動的に追加するオプションがあります。これは、jQueryには十分簡単です。要素の1つでは、イベントをバインドする必要があります。これは比較的簡単です。私が問題を抱えている部分は、バインドする必要のあるイベントがパラメータを取らなければならないということです。だから、コードは私が持っている:
$(newrow).find("select").each(function() {
var ochange = function(handle){
var thisselect = "select" + handle;
var thislink = "link" + handle;
var thiscollate = "collate" + handle;
if(document.getElementById(thisselect).value == 4){
document.getElementById(thislink).style.visibility = 'visible';
}
else{
document.getElementById(thislink).style.visibility = 'hidden';
document.getElementById(thiscollate).value = "";
}
};
$(this).change(ochange);
$(this).attr("name", "select" + numfields);
$(this).attr("id", "select" + numfields);
});
イベントが期待通りにバインドしますが、(私はこれは正しくない構文であるかなり確信しているので、もちろん)変数が登録していない「ハンドル」。また、動的フォーム要素にバインドしたいこの関数は実際にはすでに定義されているので、すでに定義されている関数(パラメータを取る)を呼び出す方法があれば、それについて聞いてみたいと思います。