首页 > 解决方案 > Jquery - 如何从另一个函数中读取变量

问题描述

在 JQuery 中,我有这个功能:

    <script type="text/javascript">
    $(document).ready(function() {
        $(document).on('change', '#leave_type', function() {
            var air_id =  $(this).val();
            var a = $(this).parent();
            var op = "";
            
            $.ajax({
                type: 'get',
                url: '{{ route('get.employeeleavecounts.all') }}',
                data: { 'id': air_id },
                dataType: 'json',      //return data will be json
                // console.log("Its Change !");
                success: function(data) {      
                    var holidayDays =  data.nationalholidays;   
                    console.log(data.nationalholidays);
                },
                error:function(){

                }
            });
        });
    });
    </script>

holiday_days 在控制台中是这样的:

0:
holiday_date: "2020-08-25 00:00:00"
__proto__: Object
1:
holiday_date: "2020-08-26 00:00:00"
__proto__: Object
2: {holiday_date: "2020-09-25 00:00:00"}
3: {holiday_date: "2020-11-30 00:00:00"}

__proto__: Array(0)

我有另一个 javascript 函数,如下所示。

我怎么能在里面打电话给holidayDays:

<script type="text/javascript">
     $(document).ready(function () {
            $("#leave_days").on('keyup blur', function (e) {
            var periodval=parseInt($("#leave_days").val());          

          });
   </script>

标签: jquery

解决方案


您可以添加一个全局变量:

<script type="text/javascript">
    var nationalholidays = [];
    $(document).ready(function() {
        $(document).on('change', '#leave_type', function() {
            var air_id =  $(this).val();
            var a = $(this).parent();
            var op = "";
            
            $.ajax({
                type: 'get',
                url: '{{ route('get.employeeleavecounts.all') }}',
                data: { 'id': air_id },
                dataType: 'json',      //return data will be json
                // console.log("Its Change !");
                success: function(data) {      
                    var holidayDays =  data.nationalholidays;   
                    console.log(data.nationalholidays);
                    nationalholidays = data.nationalholidays;
                },
                error:function(){

                }
            });
        });
    });
</script>

并使用它:

<script type="text/javascript">
 $(document).ready(function () {
        $("#leave_days").on('keyup blur', function (e) {
        var periodval=parseInt($("#leave_days").val());          
        console.log(nationalholidays);
      });
</script>

推荐阅读