如何使用jQuery将事件处理程序中的变量传递给另一个事件处理程序?

时间:2016-09-26 13:53:26

标签: jquery ajax

如何将事件处理程序中的变量传递给另一个事件处理程序

$("#vaccines").find("a").click(function() {
    var sendvaccineval = $(this).attr('id');
});

$("#options").find("a").click(function() {
    var sendbuttonval = $(this).attr('id');
});

我打算将第一个事件处理程序的属性用于第二个

我有两个模态,所以在一个模态中有一个模态,在第二个模态中我需要使用第一个模态的属性

2 个答案:

答案 0 :(得分:0)

如果需要在两个事件处理程序之间执行公共代码,请将参数传递给具有公共代码的第三个函数。

$("#vaccines").find("a").click(function() {
    var sendvaccineval = $(this).attr('id');
    doSomething(sendvaccineval);
});

$("#options").find("a").click(function() {
    var sendbuttonval = $(this).attr('id');
    doSomething(sendbuttonval);
});

function doSomething(myButton)
{
    // ....  do something with the button...
}

avoid globals unless they are really necessary,我严重怀疑他们是在这种情况下

答案 1 :(得分:0)

您可以创建隐藏的简单输入。

<input type="hidden" id="hide_value" value="">

我向您推荐,为您的链接指明和ID

<a id="link_vaccines" href="#">
$('#link_vacciones').on("click",function(){
  var id = $(this).attr("id");
  $('#hide_value').val(id);
});

<a id="link_options" href="#">
$('#link_options').on("click",function(){
  var id = $(this).attr("id");
  $('#hide_value').val(id);
});

console.log($('#hide_value').val());

您可以将值放在全局var中,也可以放在任何内容中。但我不知道你想要做什么。你可以做很多事情。