如何在javascript中的函数之间传递元素?

时间:2013-01-30 20:04:45

标签: javascript

我在同一页面上有几个表单,每个表单都有类.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());
  }

2 个答案:

答案 0 :(得分:2)

是的,你可以,你可以不使用变量this,因为它是reserved

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

其他选项是使用call()

答案 1 :(得分:1)

您可以使用.call()动态设置this的值应为:

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

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