私は動作するSpryフィルター機能を持っています:
function ffRed(ds, row, index){ var c = row["color"]; return c == 'red' ? row : null; };
これは、チェックボックスのクリックハンドラーから呼び出される関数によって切り替えられます。
function ToggleFilter(enable, f)
{
if (enable)
ds1.addFilter(f, true);
else
ds1.removeFilter(f, true);
}
チェックボックスはどこにありますかonclick="ToggleFilter(this.checked, ffRed);"
チェックボックスからパラメーターを渡す方がよいので、すべてのチェックボックスに同じハンドラーとフィルターを使用して、クリックハンドラーからどの色(「赤」など)を渡すことができます。
ToggleFilter関数にパラメーターを渡すことは問題ありませんが、filterFunctionに渡す方法は?
このようにいくつかの意味があります:
function ffColor(ds, row, index, clr){ var c = row["color"]; return c == clr ? row : null; };
これが行われない場合を除いてds1.addFilter(f, true, clr)
、clrにクリックハンドラから文字列「red」が渡されたと仮定します。その部分は機能しますが、私は明らかにそれをフィルター関数に間違って渡しています。