繁体   English   中英

JQuery更改功能的问题

[英]Problems with JQuery change function

我有以下.change()函数:

$('#accmenu').change(function() {
    $(".insightsgraphs div").hide();
    $(".insightsoptions input").removeClass("green");
    $("#newLikes").one('click', function () {
        $.ajax({type:'GET', url: 'newLikes.php', data:$('#ChartsForm').serialize(), success:
            function(response) {
                var json = response.replace(/"/g,'');
                json = "[" + json + "]";
                json = json.replace(/'/g,'"');
                var myData = JSON.parse(json);
                var myChart = new JSChart('dailyNewLikes', 'line');
                myChart.setDataArray(myData);
                myChart.setSize(960, 320);
                myChart.setAxisNameX('');
                myChart.setAxisValuesColorX('#FFFFFF');
                myChart.setAxisNameY('');
                myChart.setTitle('Daily New Likes');
                myChart.draw();
            }});
        return false;
    });
    $("#newLikes").on('click', function(){
        $(this).toggleClass('green');
        $('#dailyNewLikes').toggle();
        return false;
    });
    $("#unlikes").one('click', function () {
        $.ajax({type:'GET', url: 'unlikes.php', data:$('#ChartsForm').serialize(), success:
            function(response) {
                alert(response);
                $("#dailyUnlikes").html(response);
            }});
        return false;
    });
    $("#unlikes").on('click', function(){
        $(this).toggleClass('green');
        $('#dailyUnlikes').toggle();
        return false;
    });
});

任何时候我改变从选项accmenu选择隐藏所有对应的div insightsgraphs类,然后从它的所有的输入删除绿色类。 在我选择了四个选项之一之后,我可以正常运行所有内容,但是如果选择另一个选项,则单击按钮将不会变为绿色,并且也不会显示div。 它不会运行以下脚本:

$("#newLikes").on('click', function(){
    $(this).toggleClass('green');
    $('#dailyNewLikes').toggle();
    return false;
});

可以在按钮的绿色和红色之间切换,也可以隐藏或显示div。 例如,可以针对第二个选项正确进行ajax调用,但是该按钮未获得绿色类,并且未显示相应的div。 我的代码有什么问题? 是什么导致此问题? 另一个奇怪的是,第三个选项正在工作,但第四个选项没有工作...

当我检查您的代码时。 看来您已将某些事件放入“更改”事件中。 触发更改后,此处的问题将重新运行其中的所有事件。 因此,这将导致您的功能出现问题。 最好将更改之外的那些事件分开,并创建一个闭包函数,以便您可以从外部获取所需的那些数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM