0

私はいくつかのフォームをすべて同じページに持っています。それぞれにクラス .select_form があり、フォームのチェックボックスをクリックすると、選択した値が ajax 経由で送信されます。

私ができるようにしたいのは、各フォームに異なる名前を付けるのではなく、選択した要素を参照することです (同じ css クラスを持つ複数のフォームがあるため)。理想的には、「これ」を参照して渡す必要があると思いますが、どこにも行きません!

$('.select_form input').live("click", function(){
     check();
});


function check()
  {

     $("#ajax_totals").load("/stuff/things", $(".select_form").serializeArray());
  }

私は次のようなものが欲しいと思います:

$('.select_form input').live("click", function(){
     check(this);
});


function check(this)
  {

     $("#ajax_totals").load("/stuff/things", $(this).serializeArray());
  }
4

2 に答える 2

2

はい、できます。変数thisreservedであるため、使用できません。

function check(elem)
{
     $("#ajax_totals").load("/stuff/things", $(elem).serializeArray());
}

他のオプションはcall()を使用しています

于 2013-01-30T20:06:39.847 に答える
1

.call()の値を動的に設定するために使用できますthis

$('.select_form input').live("click", function(){
     check.call(this);
});

function check () {
    $("#ajax_totals").load("/stuff/things", $(this).serializeArray());
}
于 2013-01-30T20:08:24.577 に答える