我有一个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'。该部分有效,但我显然将其传递给过滤函数错误。