我正在做的事情很简单,所以我可能做错了。
我有一个简单的选择框作为表格的过滤器。我有一个重置过滤器的按钮。
$("#package").live('change', function()
{
filterPackage = $("#package").val();
$.ajax({url: 'ajaxAllGroups.php?filterPackage='+filterPackage, cache: false, success: function(main)
{
$('#fullPartsList').html(main);
}});
});
function unfilter()
{
$.ajax({url: 'ajaxAllGroups.php?filterPackage=0', cache: false, success: function(main)
{
$('#fullPartsList').html(main); // Send ajax content to table
$('#package').val(0); // Reset option to default
$("#package").change(); // Force visual change to select box
}});
}
如您所见,重置按钮将选择选项设置回零,并且我触发了选择上的 change() 函数,以使更改应用于选择框。
一切正常,但仅视觉更改会触发上面的实时更改功能,这会导致第二次不必要的 ajax 调用。
我考虑过使用真/假变量来执行此操作以使其运行一次,但无法让该变量在正确的时间设置真/假,但我相信有一种更简单的方法。
提前致谢。