当函数b在函数a内时,将函数a中创建的变量传递给函数b

时间:2010-09-22 20:46:21

标签: javascript jquery

我有一个类.myclassA的函数,在这个函数里面我捕获了所选择的特定元素的id,并把它放在变量inputid中。此函数还为另一个类(.myclassB)带来另一个函数,该函数位于第一个函数内。你们有没有想过如何将变量inputid从第一个函数传递给它里面的函数? 谢谢你的帮助

$('.myclassA').click(function(){
  var inputid = $(this).attr('id');
  $('.myclassB').click(function(inputid){
      var thisid = $(this).attr('id');
      $(inputid).val(thisid);
  });
  //$('seqa').click();
});
//$('#empcriddi').focus();

1 个答案:

答案 0 :(得分:0)

您不需要“传递”它,只是不要使用相同的名称命名本地变量,如下所示:

$('.myclassA').click(function(){
  var inputid = $(this).attr('id');
  $('.myclassB').click(function(){ 
      var thisid = $(this).attr('id');
      $(inputid).val(thisid);
  });
});

虽然这也不会起作用,并且没有理由去查找你已经拥有的元素,所以只需要维护一个引用,例如:

$('.myclassA').click(function(){
  var input = $(this);
  $('.myclassB').click(function(){ //you may want to also .unbind('click') here
    input.val(this.id);
  });
});