重用Ajax调用作为函数

时间:2016-02-23 16:14:51

标签: javascript jquery ajax

AJAX有点问题。我设置了这个功能:

<script>
    function popEvents(){
    var $sqlcal = $('#calHeader').data('sqlcal');
    console.log($sqlcal);
    $.ajax({
        type: "GET",
        url: 'XXXX.php',
        data: {sqlcal: $sqlcal},
        dataType: 'json',
        cache: false,

        success: function(data){



            var x = data;
            console.log(x);
            $('.open-button').each(function(){
                var e = $(this);
                var e1 = e.data('dtc');

                if (($.inArray(e1, x) > -1)){
                    e.css('background','red');
                    console.log('yes')
                }else{
                    console.log('no');
                    }

            });

        },
        error: function(){
            console.log('didnt work');
        }

    });
    delete $sqlcal;




    }
</script>

在页面加载时运行(这将根据日历日期填充事件)并且工作正常。现在在同一页面上,日历上有一个下拉按钮,用于选择不同的日历。

目标

如果用户点击其他日历,当前事件将消失(现在只是css背景颜色),并使用popEvents函数填充新事件。

问题

以下是我的li选项代码:

<script>

   $( document.body ).on( 'click', '.dropdown-menu li a', function( event ) {

      var $target = $( event.currentTarget );
      var $value = $(this).data('value');


      $target.closest( '.widget-header' )
         .find( '#calHeader' ).text( $target.text() ).attr('data-sqlCal',$value)
            .end()
         .children( '.dropdown-toggle' ).dropdown( 'toggle' );
        popEvents();
      return false;

   });

</script>

当用户选择新日历时,&#39; data-sqlcal&#39;确实更新,但控制台日志中的ajax调用不会更新为&#39; data-sqlcal&#39;的新值。而是在页面加载时进行相同的调用。有人可以帮助我解释为什么会发生这种情况吗?感谢您的帮助

页面加载和用户更改日历时

console.log输出:

conferenceevents \\ default calendar on page 
xxxxx.php:579 ["2016-02-05", "2016-02-05", "2016-02-05", "2016-02-06", "2016-02-07"]
xxxxx.php:588 no
xxxxxx.php:586 yes
xxxxxxx:588 no
VM24700:3 XHR Loaded (xxxxxx.php - 200 OK - 24.323000106960535ms - 289B)

//clicked on a new calendar from dropdown

xxxxx.php:566 conferenceevents \\ Didnt update(should be huddleoneevents)
xxxxxx.php:579 ["2016-02-05", "2016-02-05", "2016-02-05", "2016-02-06", "2016-02-07"]
xxxxxx.php:588 no
xxxxxx.php:586 yes
xxxxxxxxx.php:588 no
VM24705:3 XHR Loaded (xxxxx.php - 200 OK - 7.968999911099672ms - 290B)

0 个答案:

没有答案