javascript - 如何在Jquery中的两个事件函数之间传递变量?

标签 javascript jquery

我想将字符串变量从一个 jquery 事件传递到另一个 jquery 事件。 我在堆栈溢出上搜索了有关我的问题的一些问题和解决方案,但我找不到与我面临的问题相关的解决方案。我正在使用 python Flask 和 Neo4j 图形数据库使用 Jquery 和 AJAX 执行一些后端操作。

以下是我的jquery代码

<script type="text/javascript">

    var asstName = "";

    $('select#label_Name').change(function(){
        asstName = $('#label_Name').val();
        console.log(asstName);
        $.ajax({
            url: '/get_asset',
            data: asstName,
            type: 'POST',
            dataType: 'json',
        }).done(function(data){
            // console.log(data);
            var print = "";
            for (i=0; i < data['nodeList'].length; i++){
                print += "<tr>" +
                            "<td>" + data['nodeList'][i]['Asset_Name'] + "</td>" +
                            "<td>" + data['nodeList'][i]['Asset_Manufacturer'] + "</td>" + 
                            "<td><button id=" + data['nodeList'][i]['Asset_Name'] + ">" + 
                            "<i style='color: red;' class='fa fa-trash'></i></button>" +
                            "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                            "<button id=" + data['nodeList'][i]['Asset_Name'] + ">" + 
                            "<i style='color: blue;' class='fa fa-pencil'></i></button>" +
                            "</td>" +
                         "</tr>";
           }
           $('tbody#tBody').html(print);
        })
    });

    $('#button').click(function(){
        var delName = $(this).attr('id');
        console.log(asstName);
        $.ajax({
            url: '/deleteNode',
            data: JSON.stringify(delName),
            dataType: 'json',
            type: 'POST' 
        }).done(function(data){
            console.log(data);
        })
    });

</script>
  1. 有两个事件,一个是“更改下拉列表”,另一个是按钮单击。
  2. 当我从下拉列表中选择任何列表元素时,会进行 ajax 调用,并且数据库中的数据会填充到表中。
  3. 现在我正在对表格元素执行一些操作,其中我使用了按钮来删除元素。

如您所见,有两个事件

$('select#label_Name').change

$('#button').click

如何将字符串变量“asstName”传递给事件按钮点击?

最佳答案

您可以使用此 $('#label_Name').val(); 获取点击处理程序内下拉列表的值,而不是访问变量。 我的理解是,您只需要点击处理程序内下拉列表的值

关于javascript - 如何在Jquery中的两个事件函数之间传递变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54396601/

相关文章:

javascript - 如何通过JQuery获取HTML表格单元格值?

javascript - 获取 IndexedDB 中添加记录的键

javascript - 单击按钮时的 jQuery 动画表单

javascript - Meteor Gravatar 出现在用户页面上,但不在房间列表中

javascript - 选择主 div 忽略子 div

javascript - 单击表标题内的 div 是单击父标题

javascript - innerHTML 中的 href

javascript - 在 3 列中显示 div

javascript - 在 JS 中对数组进行排序和过滤

javascript - angularJS在内存中执行指令并获取innerHTML