Javascript 我需要阿贾克斯,在第二个发射,而不是第一个
我在启动我的ajax调用时遇到了困难。问题是,当Chained Select填充第二个Select时(我打算用它来调用ajax),它会过早地触发ajax调用 是否可以跳过第一个。打开并从第二个启动。随后更改 链接选择功能:Javascript 我需要阿贾克斯,在第二个发射,而不是第一个,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在启动我的ajax调用时遇到了困难。问题是,当Chained Select填充第二个Select时(我打算用它来调用ajax),它会过早地触发ajax调用 是否可以跳过第一个。打开并从第二个启动。随后更改 链接选择功能: $(function() { $("#products").remoteChained({ parents: "#instrument", url: "/ajax/inst
$(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并更改另一个选项时,同样的情况也会发生。也许我需要参考。在第一次选择时关闭?唯一的问题是,这正是我看到这个答案时的想法。