私がやっていることは単純なので、おそらく間違っています。
テーブルのフィルターとして単純な選択ボックスがあります。フィルターをリセットするボタンがあります。
$("#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
}});
}
ご覧のとおり、リセット ボタンは選択オプションを 0 に戻し、選択で change() 関数をトリガーして視覚的に変更を選択ボックスに適用します。
それはすべて機能しますが、そのビジュアルのみの変更により、上記のライブ変更機能がトリガーされ、不要な ajax 呼び出しが 2 回発生します。
true/false変数を使用してこれを実行して1回実行することを考えましたが、変数を適切なタイミングでtrue/falseに設定できませんでしたが、もっと簡単な方法があると確信しています。
前もって感謝します。