Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要阿贾克斯,在第二个发射,而不是第一个_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 我需要阿贾克斯,在第二个发射,而不是第一个

Javascript 我需要阿贾克斯,在第二个发射,而不是第一个,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在启动我的ajax调用时遇到了困难。问题是,当Chained Select填充第二个Select时(我打算用它来调用ajax),它会过早地触发ajax调用 是否可以跳过第一个。打开并从第二个启动。随后更改 链接选择功能: $(function() { $("#products").remoteChained({ parents: "#instrument", url: "/ajax/inst

我在启动我的ajax调用时遇到了困难。问题是,当Chained Select填充第二个Select时(我打算用它来调用ajax),它会过早地触发ajax调用

是否可以跳过第一个。打开并从第二个启动。随后更改

链接选择功能:

  $(function() {    
            $("#products").remoteChained({  
                parents: "#instrument",
                url: "/ajax/instrument",
                loading: "loading",

            });       
  });
我的Ajax功能:

$('#products').on('change', function(event) {
    event.preventDefault();
    var href = $(this).find('option:selected').attr('value');
    console.log('href ' + href);
    location.hash = href;
    $('#sort').hide();
    $('#sort').css({ display: 'block' }).animate({ height: '100%'
    }, function() {

        $('#sort').fadeIn('slow').html('<div class="clearfix loading"> LOADING </div>');
        $('#loader').css({ border: 'none', position: 'relative', top: '24px', left: '48px', boxShadow: 'none'
        }); 
     // http://loadinfo.net/
        $.ajax({
            url: "/ajax/ajax_sort/" + href,
            dataType: "html",
            success: function(data) {
                $("#sort").html(data);
          $('.c3 .card').equalHeights();
                $('.product-count').fadeOut('slow');
                $('#ajax-hidden').hide().fadeOut('slow');
            }
        });
    });

最简单的方法是使用布尔变量进行检查

var shouldRun = false;
$('#products').on('change', function(event) {
if(!shouldRun)
{
    shouldRun = true;
    return;
}
//Your code
}

当您明确希望用户更改值时,您不能执行一个有条件的ajax调用吗?ifhref!=='您默认的“$ajax…从下载并删除.trigger'change”事件。如果有办法对此进行投票,我会的。这很有魅力。我不必移除。触发器,我只是将它们改为。on,它就像一个符咒。非常感谢!哦有办法。真是个笨蛋。谢谢,伙计,我已经为这件事痛打了自己好几个小时了。这很有效,谢谢!唯一的问题是,当用户返回到第一个select并更改另一个选项时,同样的情况也会发生。也许我需要参考。在第一次选择时关闭?唯一的问题是,这正是我看到这个答案时的想法。