1

我有一个 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”。那部分有效,但我显然将它传递给过滤器函数是错误的。

4

0 回答 0